- 博客(75)
- 资源 (18)
- 收藏
- 关注
原创 Android中文件的读写操作
1.读取SD卡中的文件,转换为byte[]类型,代码如下: private byte[] File2Bytes(File file) { int byte_size = 1024; byte[] b = new byte[byte_size]; try { FileInputStream fileInputStream
2017-06-12 17:44:53
706
原创 深入理解Looper,MessageQueue,Handler
一.详细解释: 1.Looper对象:消息轮询器。一个线程只能创建一个Looper对象。在主线程创建的时候就创建了。不断的获取MessageQueue消息队列中的一个消息,然后交给Handler进行处理。 2.MessageQueue消息队列:消息队列。是由Message组成的一个队列。Handler对象发送Message消息给消息队列。消息的创建者就是一个Handler或者
2017-06-07 16:51:51
536
原创 代码优化总结
一.代码优化的目标1.减小代码的体积 2.提高代码运行的效率二.代码优化细节1.尽量指定类、方法的final修饰符 带有final修饰符的类是不可派生的。在Java核心API中,有许多应用final的例子,例如java.lang.String,整个类都是final的。为类指定final修饰符可以让类不可以被继承,为方法指定final修饰符可以让方法不可以被重写。如果指定了一个类为final
2017-03-11 22:38:22
596
转载 Android Webview中调用了Js的时候混淆注意事项
proguard-project.txt文件中:-keepclassmembers class fqcn.of.javascript.interface.for.webview { public *; }把注释解除,把fqcn.of.javascript.interface.for.webview换成你自己定义的那个类名(包名也必须有,如果定义的是内部类,则是cn.wj.ui.WebViewA
2016-09-11 21:31:39
1253
转载 APP设计师必知:用户体验十大原则!,互联网的一些事
APP设计师必知:用户体验十大原则!,互联网的一些事 如果想从众多的产品中脱颖而出,获得成功的话,其实最重要的突破点就是要抓住用户的体验,或者是抓住了用户的某一种心里,或者是在界面布局上大胆突破,或者是做了很少有人关注到的细分领域,或者是让人产生了真实生活中的亲切感等等,但这一切都源来于生活中的设计的灵感和技巧。“互联网的一些事”推荐此文。 1、流程图是一切工作的基础如果跳过流程图直接进
2016-08-27 20:43:03
1492
原创 android开发/设计原则总结
做Android也有1年多了,上个月在部门开了个课程,总结了下一些开发的经验,这里把涉及到代码设计、开发的一些原则,或者说要注意的地方总结下: 1、局部变量优先于全局变量,无论性能上还是代码阅读上。在android开发里面,见过很多初学者,在写activity的时候,喜欢把页面上的所有控件全部声明为类变量,不管是否必须,感觉这样使用方便,其实这是很不好的习惯,既影响性能,又不便于阅读代码。 2、
2016-08-27 19:51:00
681
原创 Android中签名机制详细解释
一.签名的原因 1.区分Android开发者使用同样的类名以及包名 开发商可能通过使用相同的包名来混淆替换已经安装的程序,签名可以保证相同的名字,但是签名不同的包不能被替换。APK如果使用一个Key签名,发布时另一个Key签名的文件将无法安装或覆盖老的版本,这样可以防止安装的应用被恶意的第三方覆盖或替换掉 2.Android系统要求所有的程序通过数字签名才能安装。不管是模
2016-03-20 16:10:45
3473
原创 Android App开发总结
一.核心功能 1.功能如下 ⑴.内容列表展示 ⑵.内容详情展示 ⑶.个人中心 ⑷.评论分享 ⑸.搜索 2.架构如下 ⑴.Android UI设计 ⑵.Android客户端 ⑶.Android服务器端 ⑷.Android内容设计 ⑸.Android App上线 二.
2016-03-20 10:19:12
3129
原创 Android 获取uri的正确文件路径的办法
Android获取Uri的正确文件路径的办法public String getImagePathFromUri(final Context context, Uri picUri) { // 选择的图片路径 String selectPicPath = null; Uri selectPicUri = picUri; final Stri
2015-12-15 23:02:59
6406
原创 android手机命令行下不能使用sqlite3命令查看*.db数据库文件解决办法
最近工作有点忙,没有空闲的时间来写博客了。最近在研究Android手机系统的知识,下面总结一下我在开发过程中遇到的问题。android手机命令行下不能使用sqlite3命令查看*.db数据库。一.原因如下:在system/xbin目录下没有sqlite3这个可执行文件,需要向这个目录中加入sqlite3这个可执行文件。如下图所示:二.解决方案:第一步:首先将和手机系统版本一样的sqlite3文件存放
2015-12-14 20:43:37
2397
原创 Android系统性能优化总结
Android系统性能优化总结 以下从几个不同的角度总结一下应用程序性能优化的一些方法。一.编程思想上 应用层的性能优化通常可以从以下几个方面考虑: 1. 高效的编码方式:了解编程语言的编译原理,使用高效编码方式从语法上提高程序性能; 2. 合理的数据结构和算法:采用合理的数据结构和算法提高程序性能,这往往是决定程序性能的关键;
2015-10-18 16:11:28
833
原创 软件开发中,做产品与做项目有什么区别?
对于个体程序员对于产品与项目的选择性问题 在IT行业,产品和项目一直是程序员们讨论的热话题。下面是我看到的一篇文章,我觉得写的比较不错。和大家来共享一下。 我始终不能避免的是程序员的最终归宿,人都有老的一天,也有很多人在讨论程序员的码代码的寿命,有的人说是35岁,有的人说60岁,有的人说退休了也能写个八皇后出来。不错,每个人的能量不一样,每个人的归宿也不一样。 在我看来
2015-10-17 16:33:06
6302
原创 Android中设计模式之单例模式的种类
Android开发设计模式中的单例模式 单例模式是设计模式中最常见也最简单的一种设计模式,保证了在程序中只有一个实例存在并且能全局的访问到。比如在android实际APP 开发中用到的 账号信息对象管理, 数据库对象(SQLiteOpenHelper)等都会用到单例模式。下面针对一些例子分析一下我们在开发过程中应用单例模式需要注意的点。一、作用 单例模式(Singleton):
2015-10-11 09:23:36
461
原创 Android自定义捕获异常
Android中的异常处理:代码如下:package com.chengdong.su.util;import java.io.File;import java.io.FileOutputStream;import java.io.PrintWriter;import java.io.StringWriter;import java.io.Writer;import java.lang.T
2015-10-09 21:27:05
510
原创 Android中ArrayList的使用注意事项以及效率的比较
软件开发中,List的使用是非常多的。尤其是ArrayList这个类。在使用ArrayList的时候,效率是非常重要的。尤其是在Android开发中。 1.ArrayList讲解: (1).ArrayList是一个动态数组,其容量能自动增长。 (2).ArrayList不是线程安全的,只能用在单线程环境下. (3).随着向ArrayList中不断添加元素,其容量也自动增长。自动增
2015-09-21 21:54:47
6203
原创 Android注释技巧
1.如何快速生成文档注释光标定位到要注释的类、属性或者函数上,然后右键 -> Source -> Generate Element Comment,我更喜欢用快捷键 Alt + Shift + J,就能自动生成注释了。2. 文档注释中字段的含义(重点)@author 作者信息@param 参数信息@return 返回信息@exception 异常信息@throws 抛出异常信息 (@exce
2015-09-19 21:55:23
1076
原创 android利用BitMap获得图片的像素数据
最近工作,涉及最多的就是对图片的处理:获取图片–图片压缩–图片中人脸检出–美妆人脸–展示图片等等流程。在这里,就不一一叙述了。下面主要是获取图片中像素的方法。代码如下:/** * 获得图片的像素方法 * * @param bitmap */ private void getPicturePixel(Bitmap bitmap) { int
2015-09-19 19:54:18
14627
原创 Android中时间戳的详细解释
Android中时间戳的详细解释: (1).定义: 时间戳就是根据当前系统时间生成的一组随机数字。 (2).作用: 作为对数据唯一性的一种判断依据。避免了重复修改数据所带来的错误! (3).应用: (1).在银行account表中建立时间戳字段timestamp,设定为文本类型va
2015-09-17 21:56:08
7271
原创 Android中Unable to execute dex: Multiple dex files define Lcom/viewpagerindicator/CirclePageIndicat
在Android开发工作中经常遇到很多奇怪的异常,解决起来会花很长的时间。下面首先来介绍一下Android中有关Jar包的知识。1.Jar包的含义: Jar包里边封装了很多的类和方法。在开发过程中经常会用到各种各样的Jar包来实现一些功能。 2.Jar包的作用: 将重用的代码打包成一个Jar包,供所有的需要的项目使用。解决了代码复用的问题。
2015-08-30 10:27:42
885
原创 Android中类的设计遵循的原则
Android中Set/Get方法的使用总结: 使用get()和set()而不使用public的成员变量,是因为我们设计类的时候要遵循这样的原则: (1).对提供类的人来说:类中有什么都要隐藏起来,只告诉使用类的人,他能做什么就可以。 (2).对使用类的人来说:不关心提供的类中有什么,只关心该类中提供了什么功能。所以设计类的时候:不提供public的成员变量,只向外部提供接口。这个问题其实很简
2015-08-16 14:42:01
798
原创 Android中多线程编程(四)AsyncTask类的详细解释(附源码)
Android中多线程编程中AsyncTask类的详细解释1.Android单线程模型 2.耗时操作放在非主线程中执行Android主线程和子线程之间的通信封装类:AsyncTask类 1.子线程中更新UI 2.封装、简化异步操作。 3.AsyncTask机制:底层是通过线程池来工作的,当一个线程没有执行完毕,后边的线程是无法执行的。必须等前边的线程执行完毕后,
2015-08-03 22:21:07
618
原创 Activity生命周期交互设计思想和应用场景(附源码)
Activity生命周期交互设计思想 1.在多个Activity进行交互的时候,为什么要先暂停(onPause()方法)当前的Activity,执行新的Activity的onCreate()方法,onStart()方法,onResume()方法?答:比如当你正在一个页面(Activity)上看视频,此时,页面正处于onResume()方法。正在这个时候,突然来了一个电话。此时Android的处
2015-08-02 15:31:05
1383
原创 Android中客户端请求服务器端的方式讲解(一)附源码
Android中客户端请求服务器端的两种方式:Post方式和Get方式 在这里不直接赘述了,直接上源码如下: (1).Post的方式:/** * Post的请求方式 * * @param model * 请求序号 * @param paramList * 客户端请求的数据参数列表
2015-07-28 22:21:50
1809
原创 Android中多线程编程(三)Handler更新UI的方式
Handler更新UI的方式和原因以及遇到的问题1.方式:只能通过Handler来更新UI。代码如下:package com.chengdong.su.handlerdemo;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.HandlerThread
2015-07-26 18:35:36
918
原创 Android中的多线程编程(二)Handler的原理(附源码)
Android中Handler的原理一.Handler的原理:1.Handler、Looper、MessageQueue之间的关系。(1).Handler类:向MessageQueue消息队列中发送消息,接收Looper返回来的消息并处理。(2).Looper类: 存储消息队列的容器。负责接收Handler发送的消息,并直接把消息回传给Handler自己。(3).MessageQueue类:存储消息
2015-07-26 17:00:57
935
原创 C++中UINT32和INT32以及int,BOOL和bool的区别
在AndroidHAL层开发中,编写C++代码的时候,遇到了数据类型的困扰,经过查找资料,总结如下: 1.UNIT32和int以及INT32的区别: (1).int默认是signed int。也就是有符号整型,最高位是符号位。数据只占31位。 (2).INT32是unsigned int的别名。typedef unsigned int UINT32 unsigned in
2015-07-26 10:41:02
24468
1
原创 Android中的多线程编程(一)附源码
Android中多线程编程:Handler类、Runnable类、Thread类之概念分析1.Handler类:Handler是谷歌封装的一种机制:可以用来更新UI以及消息的发送和处理。Handler是运行在主线程(UI线程)。(2).使用Handler机制的原因:这是谷歌封装的一种更新UI机制和消息机制,如果不使用这个来更新UI和发送处理消息的时候就会抛出异常。(3).Handler的使用:Han
2015-07-25 09:21:37
2495
原创 Android Toast几种使用方法:附源码
Android Toast几种使用方法:一.默认展示: Toast toast=Toast.makeText(getApplicationContext(), "默认的Toast", Toast.LENGTH_SHORT); 解释: (1).第一个参数:当前的上下文环境。可用getApplicationContext()或this (2).第二个参数:要显示的字符串。也可是R.string中
2015-07-20 21:02:09
1142
原创 Android中WebView的详细解释(二)附源代码
Android中WebView的详细解释(二): 1.WebView概念: 加载网页的组件。可以视为一个浏览器。2.WebView的好处: (1).兼容已有的项目。 (2).可以动态更新。3.shouldOverrideUrlLoading(WebView view, String url)函数: (1).默认是通过第三方或者是系统浏览器打开网页。
2015-07-05 22:02:19
814
原创 Android中ViewHolder模式开发的详细解释
Android开发中ViewHolder模式开发的详细解释: 1.ViewHolder的解释: (1).只是一个静态类,不是Android的API方法。 (2).它的作用就在于减少不必要的调用findViewById,然后把对底下的控件引用存在ViewHolder里面,再在View.setTag(holder)把它放在view里,下次就可以直接取了。2.convertVie
2015-07-05 13:19:45
6552
原创 Android中万能的适配器的详细讲解(附源代码)
Android中万能的适配器的详细讲解 在Android开发中,适配器的用处是非常大的,尤其是效率优化方面。除了使用ViewHolder复用View之外,如果存在很多的ListView或者是一个ListView中存在很多的View组件,那对代码的阅读不是很好的。考虑到优化以及共通方面,我封装了ViewHolder类以及将Adapter类封装成共通的了,将对以后的开发带来很大的方便。(1)
2015-07-05 00:06:22
2840
原创 Android中Application类的详细解释:
Android中Application类的详细解释: 我们在平时的开发中,有时候可能会需要一些全局数据,来让应用中的所有Activity和View都能访问到,大家在遇到这种情况时,可能首先会想到自己定义一个类,然后创建很多静态成员。 但是这种方法不符合Android的框架架构,不过andorid已经为我们提供了这种情况的解决方案:在Android中,有一个名为Ap
2015-06-30 20:23:44
3485
原创 Android中数据库的操作流程详细解释
Android中数据库的操作方法:1.Android平台提供了一个数据库辅助类来创建或打开数据库。这个辅助类继承自SQLiteOpenHelper类。继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个方法。 (1).onCreate(SQLiteDatabase db) : A.当数据库被首次创建时(用户初次使用软件时)执行该方法。一旦数据库存在
2015-06-27 17:13:29
2365
原创 Java中对象、对象引用、堆、栈、值传递以及引用传递的详细解释
Java中对象、对象引用、堆、栈、值传递以及引用传递的详细解释 1.对象和对象引用的区别: (1).对象: 万物皆对象。对象是类的实例。在Java中new是用来在堆上创建对象用的。一个对象可以被多个引用所指向。 (2).对象引用: 类似于C++中的地址。通过对象引用可以找到对象。一个引用可以指向多个对象。操纵
2015-06-27 10:19:52
4129
原创 Android项目中的R文件丢失
Android项目中的R文件丢失恢复的方法如下: (1).修改xml文件命名中的大写字母 (2).选中项目,点击 Project — Clean , 清理一下项目; (3).从别的工程中拷贝一份R文件过来,然后string.xml里随便改动一下,也可更新R文件。 (4).右击你的工程(项目)——>Properties——>Android ——> 选择相
2015-06-09 21:39:18
802
转载 Android开发中工具类的介绍
Android开发中常用的工具类详细解释 主要介绍总结的Android开发中常用的工具类,大部分同样适用于Java。 目前包括HttpUtils、DownloadManagerPro、ShellUtils、PackageUtils、PreferencesUtils、JSONUtils、FileUtils、ResourceUtils、StringUtils、ParcelUtils、RandomUt
2015-06-07 14:57:20
567
原创 Android开发中Flag参数的讲解
Android开发中Flag参数的讲解: Intent对象在Android开发中起着举足轻重的作用,其内置了丰富的常量,用于传递数据, 下面本文将介绍跟Task有关的一些Flag参数,各参数的理解均来自Android API和本人在实际项目中的体验,如果有描述不当之处,还请各位不吝赐教。1.FLAG_ACTIVITY_BROUGHT_TO_FRONT:不在程序代码中设置,在launchMode中
2015-06-06 17:40:12
3233
原创 Activity的启动模式详细解释
Activity的启动模式详细解释 Activity有四种加载模式:standard(默认), singleTop, singleTask和 singleInstance。 (1).standard(默认):Activity的默认加载方法。即使某个要启动的Activity在Task栈中已经存在,同样会新创建一个实例压入栈中。也就是说:该模式的Activity,只要是启动,都会创建一个新的实例压入
2015-06-06 14:12:13
1425
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人