原文作者: eoeadmin原文地址: http://my.eoe.cn/shuhai/archive/19684.html-------------------------------------------- 这篇文章主要写了一个PHP程序猿是如何转战学习Android的. 第一步: 直接跨过java的学习,原因有我之前看过毕向东和张孝祥的Java基础课程,虽然中间好几次看睡着,但java的环境是能跑起来的. 我建议大家如果没有Java基础的话,可以看一下毕向东的java课程.毕向东这哥们的…
转载的! Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互.JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C.C++ 和汇编语言)编写的应用程序和库进行交互操作. 1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,这些Java类编译为Dex型式的Bytecode之后,必须靠Dalvik虚拟机(VM: Virtual Mac…
最近在项目上因为6.0运行时权限吃了亏,发现之前对运行时权限的理解不足,决定回炉重造,重新学习一下Android Permission. 进入正题: Android权限 在Android系统中,权限分为三种:正常权限.危险权限和特殊权限: 正常权限:不会直接给用户隐私权带来风险.如果您的应用在其清单中列出了正常权限,系统将自动授予该权限. 危险权限:涵盖应用需要涉及用户隐私信息的数据或资源,或者可能对用户存储的数据或其他应用的操作产生影响的区域.例如,能够读取用户的联系人属于危险权限.如果应用声…
好久没有开始写博客了,最近开始学习Android,所以想把学习的笔记都一一记录下来.一来是方便自己以后资料的查询,其次也是给Android新手朋友进行学习使用,再次也希 望得到高手的指点.废话少说,我们正式进入主题. 首先,既然我们说了是从零开始,那我们自然第一步就应该是环境的搭建了. 1.下载 工欲善其事必先利其器.一个好的开发工具必然让我们事半功倍,这里我们选择的是google官网所提供的ADT(Android Developer Tools).由于大陆对Google的限制,可能 会导致我们…
前言 Google官方在14年Google I/O上推出了全新的设计语言--Material Design.一并推出了一系列实现Material Design效果的控件库--Android Design Support Library.其中,有TabLayout, NavigationView,Floating labels for editing text,Floating Action Button,Snackbar, CoordinatorLayout, CollapsingToolbar…
生活中经常会用到图片放大和缩小,今天简单学习下. 思路:1.添加一个操作图片放大和缩小类;  2. 布局文件中引用这个自定义控件;  3. 主Activity一些修改. 代码如下: 增加图片操作类: package com.example.imagezoomdemo; import java.util.Observable; import java.util.Observer; import android.content.Context; import android.graphics.Bit…
Android经常用到树形菜单,一般ExpandableListView可以满足这个需要,今天学习下. XML代码: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"…
Android开发中会用到文件存储,今天来学习下. 先改下布局界面: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height=&…
APP应用中经常会下载某些东西,这里面有涉及到进度对话框,今天来学习下. 首先,布局里放进两个按钮,点击一个显示条形进度条,另一个显示圆形进度条.代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/LinearLayout01" android:layout_width="match_parent" andro…
Android中经常用到图片,比如图片浏览.图标等等,今天学习下image控件,image控件主要有ImageButton和ImageView两种. (1)ImageButton 在布局文件增加: <ImageButton android:id="@+id/imageButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" androi…
这几年,Android开始慢慢流行起来,很多项目也开始涉及这部分内容,所以学习Android也就变的很有意义了. 学什么 学习Android应该学什么,很多人有不同的见解.一般程序员可能只是学习Android的UI控件和Android的API使用等.高级程序员可能会研究一下Android的FrameWork和Android的实现原理.相对于这两者,顶级的程序员会深入的了解Android的层次架构和设计思想并将这些架构和设计思想加以改造.优化之后应用在其他方面.你会怎么做呢? Android层次架…
Android中的SQLite使用学习 SQLite是非常流行的嵌入式关系型数据库,轻载, 速度快,而且是开源.在Android中,runtime提供SQLite,所以我们可以使用SQLite,而且是全集的SQLite.SQLite提供 SQL接口,和一般的数据库一样.但是Android的API不采用JDBC,JDBC消耗太多的资源. SQLite支持绝大部分SQL-92标准,不支 持:FOREIGN KEY constraints, nested transactions, RIGHT OUT…
android的helloworld工程目录学习 Android工程的主要目录有src.gen.Android X.X.bin.res等文件夹. 1.     Src文件夹 Src文件夹包含java源文件(.java),如下图: 图1 创建工程时,默认创建Activity对应的源代码文件为MainActivity.java,对应的类为名MainActivity,由上图可知MainActivity.java导入了很多类. 下面MainActivity类的定义: public class MainA…
众所周知,android 是开源的.如今市场上反编译别人的劳动果实的人也不少.所以我们也是有必要学习下smail语言,(就是androidproject反编译后出的语法语音),看看改怎么给我们的代码 "埋雷" .才干更好的保护好我们自己的劳动成果. 接下来就让我们来学习下吧~!(事先声明:本人也是初学smail语言,有介绍不当的地方还请海涵,并请指出.大家一起学习) package com.example.pushdemo; import java.io.ByteArrayInputS…
之前主要做客户端UI交互,很少处理数据和接触服务端,但现在的移动设备根本不可能离得开网络连接,数据的交换.最近学习的是在android端如何去调用远程WebService,都说WebService是一种基于SOAP协议的远程调用标准,对于这个协议理解不深,知道webservice可以将不同操作系统平台.不同语言.不同技术整合到一块,android SDK没有直接调用webservice的库,最常用的是借助ksoap2-android这个第三方SDK,点击打开链接,然后和其他第三方jar包一样导入…
微信公众号:CodingAndroid cnblog:http://www.cnblogs.com/angel88/ CSDN:http://blog.csdn.net/xinpengfei521 需求:设计一个图片加载工具类. 要求:职责单一.可扩展性强.实现三级缓存,遵循开闭原则. 1.改造前原始代码 package com.anloq.sdk.imageloader;import android.graphics.Bitmap;import android.graphics.BitmapF…
Android开发技术周报182学习记录 教程 App安全二三事 记录 为什么要安全 App的移动安全主要包括下面几种: 密钥破解,导致本地加密数据被盗取. 通信密钥破解,导致接口数据被盗取. 伪造接口数据上报. 接口签名被破解,导致接口可以被重放攻击. 归结起来,就是三种模式: diamante反编译. so破解. 中间人攻击. 用户要的安全 对于用户来说,他所需要的安全,是自己的铭感数据不被泄漏,不被第三方所知晓,所以,客户端数据的安全,一般会使用加密的方式保证安全. 本地加密 progua…
Android开发技术周报176学习记录 教程 当 OkHttp 遇上 Http 2.0 http://fucknmb.com/2018/04/16/%E5%BD%93OkHttp%E9%81%87%E4%B8%8AHttp-2-0/ 记录 问题:App上的菊花一直在转消失不掉.原因:okhttp3.4.1在http2.0下使用了被关闭的连接,导致出现无限循环.在http code!=200时,重连,没有结束死循环导致的.解决:在http code!=200时流为关闭的情况下,连接意外中断触发了…
Android开发技术周报183学习记录 教程 Android性能优化来龙去脉总结 记录 一.性能问题常见 内存泄漏.频繁GC.耗电问题.OOM问题. 二.导致性能问题的原因 1.人为在ui线程中做了轻微的耗时操作,导致ui线程卡顿. 2.layout过于复杂,无法在16ms完成渲染.使用RelativeLayout替换LinearLayout,说是可以减少布局层次,然而,现在不再建议使用RelativeLayout,因为ConstraintLayout才是一个更高性能的消灭布局层级的神器.Co…
前言 前两次,我们学习了 Android Material Design控件学习(一)--TabLayout的用法 Android Material Design控件学习(二)--NavigationView的学习和使用 今天我们继续MD控件的学习和使用.在学习之前,我们先来看一下酷市场的登录效果. 实现这种效果的正是我们今天的主角--TextInputLayout. 学习 不管学习什么,首先看它的官方文档.这是最权威,最高效的学习途径. 文档地址:http://developer.androi…
前言 上次我们学习了TabLayout的用法,今天我们继续学习MaterialDesign(简称MD)控件--NavigationView. 正如其名,NavigationView,导航View.一般我们用它和DrawerLayout实现抽屉式导航设计,效果如下图. 学习 文档地址:http://developer.android.com/reference/android/support/design/widget/NavigationView.html 通过学习官方文档,我们知道Naviga…
Android:有关==菜单==的学习 上下文菜单 上下文菜单就是手机中对某一项进行==点击一定时间==后弹出的针对该项处理的菜单. context_menu.xml: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id=&qu…
因为项目需求,需要使用百度地图的定位功能,因此去百度地图开发平台下载了百度地图的Android定位SDK最新版本的开发包和示例代码学习. Android 定位SDK地址:http://developer.baidu.com/map/index.php?title=android-locsdk 下载地址为:http://developer.baidu.com/map/index.php?title=android-locsdk/geosdk-android-download 下载示例代码后,导入到…
Studio快捷键[Android学习入门]" title="Android Studio快捷键[Android学习入门]"> 提示 Ctrl+P方法参数提示 Ctrl+空格代码提示  Ctrl+Shift+Space在很多时候都能够给出Smart提示   Ctrl+Alt+Space类名或接口名提示 查看 Alt+1快速打开或隐藏工程面板 Ctrl+H查看类结构图 Ctrl+F12查看当前文件的结构 Ctrl+Q查看注释文档 Ctrl+P查看参数信息 Alt+Q查看当…
一.ContentProvider简介        当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法,就可以向其他应用共享其数据.虽然使用其他方法也可以对外共享数据,但数据访问方式会因数据存储的方式而不同,如:采用文件方式对外共享数据,需要进行文件操作读写数据:采用sharedpreferences共享数据,需要使用sharedpreferencesAPI读写数据.而使用ContentProvider共享数据的好处是统一了数据访问方式. 二.Uri类简介  …
 Android自复制传播APP原理学习(翻译) 1 背景介绍 论文链接:http://arxiv.org/abs/1511.00444 项目地址:https://github.com/Tribler/self-compile-Android 吃完晚饭偶然看到这篇论文,当时就被吸引了,马上翻译总结了一下.如有错误欢迎斧正. 该论文的研究出发点比较高大上这里我们就不多说了,简而言之就是想通过移动设备来实现一个自组网,在发生灾难的时候,手机之间能够自动传输关键数据,减少损失.整个目标通过设计一个能够…
我们已经出台SlidingMenu使用:Android开源项目SlidingMenu本学习笔记(一个),接下来再深入学习下.依据滑出项的Menu切换到相应的页面 文件夹结构: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGVuZzB6aGFvdGFp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt=""> 点击B…
Android studio测试软件——Monkey学习及运用 在第十五周的个人博客上,王老师安排我们根据最终的团队大作业所用的软件(Android studio)进行软件测试的介绍,而我选择的是基于Android自动化测试的Monkey runner安卓测试软件,它将作为我们项目最后成品的效率测试工具. 1.Monkey runner简介 Monkey runner即android SDK中自带的工具之一,此工具提供API可按制android设备或模拟器. Monkey runner提供了一个…
移动开发的工具有很多:Android Studio,eclipse,Hbuilder等,其中,现如今最火的开发工具是Android Studio,Android Studio是谷歌自己推出的一款集成开发应用,且谷歌已经终止了对eclipse的支持,所以,我们选择Android Studio作为我们学习的开发工具, Android Studio安装教程:https://www.bilibili.com/video/av50954019(这个教程并不是我录制的) 学习内容:    1.创建页面 名词…
MainActivity.java package com.hanqi.test2; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.content.ServiceConnection; import android.os.IBinder; import android.support.v7.app.AppComp…