上一页 1 2 3 4 5 6 7 8 ··· 10 下一页
摘要: Google Style App1. Gmail、Google+、GoogleMap碎片化问题:1) 多版本共存2) 多分辨率共存3) 屏幕密度 举例:同样是4.3in屏幕,存在不同分辨率 480x800 720x1280Android2.x版本没有设计Android3.x不开源 只支持PadAndroid4.x重新设计 Holo风格 同时支持Phone和Pad的版本如果要成为优秀的Android工程师基础必要条件的几点1) 用Android4.x版本的系统2) 多使用功能或设计好的App 豌豆荚设计奖3) 技术不断修炼GoogleSytleApp需要用到的技术... 阅读全文
posted @ 2014-02-24 23:24 VIJAY-YAN 阅读(337) 评论(0) 推荐(0) 编辑
摘要: 一、自定义控件的好处 1. 做到特殊的效果 2. 差异化 3. 突破系统的限制 4. 提高用户体验二、如何自定义控件 简单的斜角的文本控件 1. 创建一个类,继承View或它的子类 2. 添加一个参数的构造方法 3. 重写onDraw()方法 canvas 画布 paint 画笔三、如何使自定义控件动态化 原理:onDraw()方法被触发 通过方法: invalidate() 四、如何定义自定义控件的属性 目的:使自定义控件的使用更加方便、灵活 步骤: 1. 增加两个参数的构造方... 阅读全文
posted @ 2014-02-20 19:46 VIJAY-YAN 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 关于listview和button都要改变android原来控件的背景,在网上查找了一些资料不是很全,所以现在总结一下android的selector的用法。首先android的selector是在drawable/xxx.xml中配置的。先看一下listview中的状态:把下面的XML文件保存成你自己命名的.xml文件(比如list_item_bg.xml),在系统使用时根据ListView中的列表项的状态来使用相应的背景图片。drawable/list_item_bg.xml 使用些xml文件:第一种是在listview中配置android:listSelector="@draw 阅读全文
posted @ 2014-02-17 18:27 VIJAY-YAN 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 一、深入理解IntentService1. 它存在的目的和意义:即使开发者不了解消息队列中涉及到的 Handler/Thread/MessageQueue/Looper/Message等类的概念作用、关系,也可以轻松开发出自定义消息队列2. 系统封装HandlerThread和IntentService的过程3. IntentService的使用步骤 1) 继承IntentService 2) 添加无参数的构造方法,并调用super("线程名称") 3) 重写onHandleIntent()处理消息 4) 在Activity中像使用普通服务一样启动Service start 阅读全文
posted @ 2014-02-16 17:52 VIJAY-YAN 阅读(267) 评论(0) 推荐(0) 编辑
摘要: javaclass反编译后的代码还原(一)Javaclass利用jad反编译之后,偶尔回碰到一些不正常的代码,例如:label0:_L1MISSING_BLOCK_LABEL_30、JVMINSTRret7、JVMINSTRtableswitch13:default269、JVMINSTRmonitorexit、JVMINSTRmonitorenter,这些一般是由特殊的for循环、trycatchfinally语句块、synchronized语句反编译后产生的。下面,就简单介绍一下,一些反编译后的特殊代码的还原规则。第一部分、for、while循环1、普通的循环,原始public void 阅读全文
posted @ 2014-02-10 18:19 VIJAY-YAN 阅读(9195) 评论(0) 推荐(0) 编辑
摘要: Main线程的作用:1. 创建UI控件和布局2. 更新UI状态3. 事件处理消息处理队列以Main线程为例:几个要素:1. 一个线程(Main) 处理用户事件2. 容器保存所有的用户事件(MessageQueue) 码头3. 从消息队列中取消息,交给Main线程执行(Looper) 搬运工4. 将消息放到Main线程的MQ里(Handler) 船 5. 消息(Message) 集装箱 二. 自定义消息处理队列模型 1. 自己的线程 2. 其他所有线程... 阅读全文
posted @ 2014-02-09 22:47 VIJAY-YAN 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 1. Handler + Thread 要求开发者掌握多线程的使用 同时掌握线程池的用法2. AsyncTask 好处:不需要开发者掌握多线程 缺点:步骤较多 使用步骤: 1. 创建一个类,继承AsyncTask, 第一个参数:执行异步任务传入的参数,例如网址String 第二个参数: 第三个参数:子线程传递到主线程的消息类型 String 2. 重写doInbackground()方法,执行耗时操作 在子线程执行 3. 重写onPostExecute() 耗时操作返回的参数,更新到UI上 在Main线程执行 4. 执行异步任务 补... 阅读全文
posted @ 2014-02-09 22:46 VIJAY-YAN 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 一、一个产品(Product)由若干个项目(Project)组成 一个产品包含若干个模块(Module) 一个模块包含若干个流程(process) 一个流程包含若干个功能(Function) 一个功能包含若干个技术点(API) 二、通过练习提升开发模块的能力 1. 以App升级为例 好处:a) 任何应用都需要 b) 业务无关性(不管开发社交、通讯、娱乐、游戏等App) 2. 设计流程 a) 画流程图 b) 写出每一步骤 首先从用户角度描述 然后从技术角度分解 3. 根据流程逐步实现描述App自动升级流... 阅读全文
posted @ 2014-02-08 16:29 VIJAY-YAN 阅读(144) 评论(0) 推荐(0) 编辑
摘要: public void init(){ final String json = "{'result':'上传成功'}"; this.runOnUiThread(new Runnable() { public void run() { // TODO Auto-generated method stub tv1.setText(json); } });}方法中的类,访问同一个方法中的局部变量,是天经地义的。那么为什么要加上一个final呢?原因是:编译程序实现上的困难,难在何处:内部类对象的生命周期会超过局部变量的... 阅读全文
posted @ 2014-02-07 16:08 VIJAY-YAN 阅读(1858) 评论(0) 推荐(0) 编辑
摘要: 1. ANR(Activity is not responding)Main线程(UI 主)功能:1. 创建UI控件 2. 更新UI控件状态 3. 事件处理限制: Main线程不建议有超过5s的事件什么条件下出现ANR:当用户输入事件超过5s没有得到系统响应第二种出现ANR的情况:广播接收者的onReceive()执行时间超过10s解决方案(原则):所有可能的耗时操作都要在子线程(work thread)中执行常见耗时操作:I/O:网络操作 SDcard数据运算3. 应用程序异常关闭对话框(FC force close) 原因:1. Error OOM(... 阅读全文
posted @ 2014-02-07 14:44 VIJAY-YAN 阅读(164) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 10 下一页