- 博客(18)
- 资源 (85)
- 收藏
- 关注
原创 Android开发笔记(七十二)数据加密算法
编码算法URL编码URL编码其实并非加解密算法,只是对特殊字符进行字符转义,从而方便在URL中传输参数。URL编码有两种方式,一种是狭义的URL编码,另一种是广义的URL编码。狭义的URL编码指的是只对汉字进行编码,相关代码参见《Android开发笔记(六十三)HTTP访问的通信方式》。广义的URL编码指的是除了汉字之外,还对其他特殊字符进行编码,如空格转换为“%20”,其他的“?
2016-02-29 10:18:11 3644
原创 Android开发笔记(七十一)区分开发模式和上线模式
为什么要区分两种模式许多开发者(包括博主在内)都是闷骚的程序员,为了开发调试方便,常常在代码里加上日志,还经常在页面上各种弹窗提示。这固然有利于发现bug、提高软件质量,但过多的调试信息往往容易泄露敏感信息,如用户的账号密码、业务流程的逻辑。所以从保密需要考虑,app在上线前都得去掉多余的调试信息,也就形成了上线模式。建立上线模式的好处有:1、保护用户的敏感账户信息不被泄露;2、保
2016-02-26 10:27:12 2751
原创 Android开发笔记(七十)反编译初步
查看平台源码查看内核源码Android的内核源码很大,有几个G,仔细找找网上有许多下载的地方。作为普通开发者,一般不需要阅读内核源码,但一点都不了解好像也不行,因为实际开发中有时候就得会那么一点点。下面几个源码目录,是开发者在实际开发中可以参考的:\system\core\toolbox : linux后台命令的源码,如ls、rm、kill、chmod、top、netstat等等。
2016-02-25 15:18:54 2939 3
原创 Android开发笔记(六十九)JNI实战
NDKNDK的用途NDK全称为Native Development Kit,意即原生的开发工具,NDK允许开发者在APP中通过C/C++代码执行部分程序。它是Android提供的方便开发者通过JNI接口进行Java与C/C++交叉编译的工具集。NDK的用于概括来说主要分为以下几种情况(以下三点摘自百度百科): 1. 代码的保护,由于apk的Java层代码很容易被反编译,而C/C++
2016-02-24 14:57:43 3136
原创 Android开发笔记(六十八)工程库打包
写好一个Android模块,比如说一个自定义控件或某个功能的sdk,然后开放出来给别人使用,就得通过某种方式把源码提供给对方。常见的打包方式有:一、直接给源码,由开发者把代码加入到自己的工程中该方式主要是些开源的小控件,功能比较简单也不涉及商业机密,所以独乐乐不如众乐乐。开源的自定义控件基本以这种形式发布。如果自定义控件用到资源文件,也可以由开发者手工将资源文件加入到自己的
2016-02-23 09:20:46 2557
原创 Android开发笔记(六十七)嵌入页面的碎片
Fragment概念Android从3.0之后引入了Fragment,可以把它理解为页面的一个片段,比如一个html网页就包含一个header头部片段,以及一个body身体片段。设计Fragment的目的是让页面布局更加灵活,不但可以随意组装和拼接各个片段,还可以只更新某个片段实现页面局部更新的功能(这个类似网页的ajax技术)。Fragment可以协助我们完成如下任务:1、在一个
2016-02-22 11:34:14 3828 9
原创 Android开发笔记(六十六)自定义对话框
AlertDialogAndroid中最常用的对话框是AlertDialog,它可以完成常见的交互操作,如提示、确认、选择等等,然后就是进度对话框ProgressDialog(参见《Android开发笔记(四十九)异步任务处理AsyncTask》)。AlertDialog没有公开的构造函数,必须借助于AlertDialog.Builder才能完成参数设置。Builder的常用方法如下:
2016-02-18 16:29:52 4652
原创 Android开发笔记(六十五)多样的菜单
菜单MenuAndroid的菜单分为两类:选项菜单和上下文菜单,默认使用选项菜单。菜单的布局文件存放在res/menu目录下,使用ADT新建一个Android工程,首页代码MainActivity中会自动生成onMenuOpened和onMenuItemSelected函数代码。展示选项菜单的途径有三种:1、按下菜单键;2、在代码中手动打开选项菜单,即调用函数openOpt
2016-02-17 15:24:34 3786
原创 Android开发笔记(六十四)网页加载与JS调用
内置浏览器网页视图WebView如果一个网站已经有现成的网页及业务逻辑,那么使用WebView将其内嵌到app中,省去了app重画页面与http通信的事情,无疑是更经济的做法。WebView就是Android上的一个浏览器内核,可自动展示web页面,并且实现js代码的相互调用。下面是WebView的常用方法:getSettings : 获取浏览器的web设置信息。addJava
2016-02-15 14:44:23 4091
原创 Android开发笔记(六十三)HTTP访问的通信方式
InputStream和OutputStream输入输出流在java中很常用,从文件读写到内存读写到网络通信都会用到。在之前的《Android开发笔记(三十三)文本文件和图片文件的读写》中,我们学习了文件流FileOutputStream和FileInputStream,以及缓存流BufferedOutputStream和BufferedInputStream。这些输入输出流都继承自Input
2016-02-14 14:19:54 3111
原创 Android开发笔记(六十二)HTTP数据格式的解析
json解析android有两种主流的json解析方案,一种是sdk自带的由Google提供的json(包名前缀为org.json),另一种是Alibaba提供的第三方jar包fastjson(包名前缀为com.alibaba.fastjson)。jsonjson的常用方法有:JSONObject构造函数 : 从指定字符串构造出一个JSONObject对象JSONObj
2016-02-12 21:21:21 2674
原创 Android开发笔记(六十一)文件下载管理DownloadManager
下载管理DownloadManager文件下载其实是网络数据访问的一种特殊形式,使用普通的http请求也能完成,就是实现起来会繁琐一些。因为下载功能比较常用,而且业务功能相对统一,所以从Android 2.3(API level 9)开始,Android提供了DownloadManager用于统一管理下载功能。下载请求要想使用下载功能,首先得构建一个下载请求,说明从哪里下载、下
2016-02-10 23:15:52 7131 2
原创 Android开发笔记(六十)网络的检测与连接
检测网络APP在访问网络之前,正常都要先检测网络状态,因为如果未连接网络就上网的话,常常导致超时等待。另外,APP有时也需区分当前网络是wifi环境还是数据连接环境,如果是数据连接环境,那么为了节省流量,一般不进行下载操作也不加载大图片;如果是wifi环境,那就都可以做而不必担心消耗流量。ConnectivityManager就是用于检测网络连接的工具类,其对象从系统服务Conte
2016-02-09 16:26:02 5357 6
原创 Android开发笔记(五十八)铃声与震动
拖动条SeekBarSeekBar继承自进度条ProcessBar,有关ProcessBar的介绍见《Android开发笔记(四十九)异步任务处理AsyncTask》。SeekBar与ProcessBar的不同之处在于,SeekBar是可以拖动的,因此SeekBar可用于媒体播放的进度条,在拖动进度条后,播放器可快进或者快退到指定位置开始播放媒体;SeekBar也可用于调节铃声的音量大小、调节
2016-02-08 23:26:37 4398
原创 Android开发笔记(五十九)巧用传感器
传感器Sensor传感器是Android用来感知周围环境以及运动信息的工具。因为具体的感应信息依赖于相关硬件,所以虽然Android提供了众多的感应器,但不是每部手机都能支持这么多感应器,恰恰相反,大多数安卓手机仅仅支持包括加速度在内的少数几个感应器。传感器借助于硬件来监听环境改变的事件,从这个意义上来说,Android的事件都是由某个传感器触发,只不过这个触发来源可能是软件,也可
2016-02-06 08:55:41 2599
原创 Android开发笔记(五十七)录像录音与播放
媒体录制MediaRecorderMediaRecorder是Android自带的录制工具,通过操纵摄像头和麦克风完成媒体录制,既可录制视频,也可单独录制音频。其中对摄像头Camera的介绍参见《Android开发笔记(五十六)摄像头拍照》。下面是MediaRecorder的常用方法:reset : 重置录制资源prepare : 准备录制start : 开始录制sto
2016-02-05 15:00:14 4017
原创 Android开发笔记(五十六)摄像头拍照
相机CameraCamera是直接操作摄像头硬件的工具类。常用的方法如下:getNumberOfCameras : 获取本机的摄像头数目open : 打开摄像头,默认打开后置摄像头。如果有多个摄像头,那么open(0)表示打开后置摄像头,open(1)表示打开前置摄像头。以上两个方法是静态方法。getParameters : 获取摄像头的拍照参数。setParame
2016-02-05 14:12:20 3514
原创 Android开发笔记(五十五)手机设备基本操作
获取手机基本信息手机的基本信息分两类,一类是与电话有关的信息,另一类是设备自身的信息。与电话有关的信息可由TelephonyManager类获得,常用的参数与对应的方法如下所示:网络运营商名称 : getNetworkOperatorName网络运营商编号 : getNetworkOperator,返回五位数字,前三位表示国家代码(中国的为460),后两位表示运营商代码(中国移动为
2016-02-03 16:04:03 3432
Android使用更多更好看图像控件的代码例子
2016-09-06
Android使用列表弹窗的代码例子
2016-09-05
Android操作工具栏Toolbar的代码例子
2016-09-05
Android对图片进行特效处理的代码例子
2016-09-01
Android自定义Drawable的代码例子
2016-08-31
Android对多语言支持的代码例子
2016-08-30
Android兼容5.0水波动画的代码例子
2016-08-30
Android对屏幕规格适配的代码例子
2016-08-30
Android对资源和权限进行校验的代码例子
2016-08-29
Android上传文件的代码例子
2016-08-29
Android对运行时状态检查的代码例子
2016-08-29
Android使用任务调度JobScheduler的代码例子
2017-05-11
Android浏览书籍的层叠翻页动画效果
2017-05-04
Android读取ppt和pdf文件的代码例子
2017-04-16
Android读取并显示word文件的代码例子
2017-04-09
Android实现可定制可滑动的标签栏的代码例子
2017-04-09
Android使用截图和录屏功能的代码例子
2017-03-24
Android使用文本输入布局TextInputLayout的代码例子
2017-03-15
Android自定义行为Behavior的代码例子
2017-03-08
Android使用协调布局CoordinatorLayout的代码例子
2017-02-27
Android使用可折叠工具栏布局CollapsingToolbarLayout的代码例子
2017-02-24
Android使用应用栏布局AppBarLayout的代码例子
2017-02-24
Android使用导航视图NavigationView的代码例子
2017-02-24
Android使用水波图形和矢量图形的代码例子
2017-02-09
Android使用提示窗Snackbar的代码例子
2017-02-09
Android校验手机制式适配的代码例子
2017-02-09
Android使用变换图形的代码例子
2017-02-09
Android自定义音乐播放器的代码例子
2016-09-20
Android自定义视频播放器的代码例子
2016-09-12
Android自带的循环器视图RecyclerView的代码例子
2016-09-02
Android自带的两个侧滑布局的代码例子
2016-09-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人