
安卓开发系列
张哲伟
安卓开发
展开
-
安卓获取当前时间并进行时间比较
package com.xjp.common.util;import java.sql.Timestamp;import java.text.ParsePosition;import java.text.SimpleDateFormat;import java.util.Date;import com.ttsoft.framework.util.DateUtil;/** * Title: 时间转载 2016-03-15 22:59:24 · 1341 阅读 · 0 评论 -
工厂设计模式--确定对话框
确定对话框具体方法:public void click1(View view){ //工厂设计模式,得到创建对话框的工厂 AlertDialog.Builder builder=new AlertDialog.Builder(this); //设置标题 builder.setTitle(“警告请三思!”); /原创 2016-03-12 19:00:41 · 656 阅读 · 0 评论 -
单选对话框
单选对话框实现的方法为:public void click2(View view){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle(“请选择您的性别”); final String items[]={“男”,”女”,”中间”};原创 2016-03-12 19:22:03 · 541 阅读 · 0 评论 -
多选对话框
实现的方法为:public void click3(View view){ AlertDialog.Builder builder=new AlertDialog.Builder(this); builder.setTitle(“请选择您喜欢的水果:”); final String []items={“苹果”,”梨”,”香蕉”,”鸡蛋”,”火龙果”原创 2016-03-12 20:02:50 · 531 阅读 · 0 评论 -
进度对话框
方法:public void click4(View view){ final ProgressDialog pd=new ProgressDialog(this); pd.setTitle(“请稍等片刻!”); pd.setMessage(“正在加载中……”); pd.show(); new Thread()原创 2016-03-12 20:14:29 · 260 阅读 · 0 评论 -
36个Android开发常用代码片段
http://www.phpxs.com/code/1001775#comments转载 2016-03-12 23:23:49 · 246 阅读 · 0 评论 -
带具体进度的进度条对话框
/** * 带具体进度的进度条对话窗 * @param view */ public void click5(View view){ final ProgressDialog pd=new ProgressDialog(this); pd.setTitle("请稍后……"); //设置进度样式 pd原创 2016-03-13 00:25:15 · 697 阅读 · 0 评论 -
Android性能优化
Android UI 渲染机制1.要求尽量将系统每次渲染的时间控制在16ms之内。如果不能够在16ms内完成渲染的话有可能造成丢帧的现象,即当前该重绘的帧被未完成的逻辑阻塞。 2.避免Overdraw,Overdraw过度的绘制会浪费很多的CPU、GPU资源 3.优化布局层级,优化布局的第一个方法就是–降低View树的高度。建议View树的高度不超过10层。 4.避免嵌套过多无用的布局。可以使原创 2016-04-09 23:54:38 · 355 阅读 · 0 评论 -
安卓实现按返回键回到桌面以及再一次按返回键退出应用
再做一个即时通信的应用的时候,由于每次都要登录,并且要一直保持通信,如果按返回键后会退出应用,这样对用户的体验不是很好,所以想到了微信和QQ的返回键回到桌面的效果,于是进行了重写onkeyDown()方法,发现解决了该问题./** * 设置返回键不关闭应用,回到桌面 * * @param keyCode * @param event * @retu原创 2016-06-07 22:48:09 · 8163 阅读 · 1 评论 -
实现点击view并隐藏与显示指定view
private void togle() { ll_des_container.measure(0, 0); int start = ll_des_container.getMeasuredHeight(); //动画的开始高度 int end = 0; //动画的结束高度 if (mIsOpen) {//折叠原创 2016-06-12 23:17:15 · 2857 阅读 · 0 评论 -
如何在LIstView中实现复杂的数据(学生管理系统)
学生管理系统的实现MainActivity.java: package json1.com.example.john.my_;import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Layout; import android.text.TextUtils;原创 2016-03-12 16:31:13 · 733 阅读 · 0 评论 -
如何高效学习安卓
Android开发的学习路线第一阶段:Java面向对象编程1、Java基本数据类型与表达式,分支循环。2、String和StringBuffer的使用、正则表达式。 3、面向对象的抽象,封装,继承,多态,类与对象,对象初始化和回收;构造函数、this关键字、方法和方法的参数传递过程、static关键字、内部类,Java的垃极回收机制,Javadoc介绍。 4、对象实例化过程、方转载 2016-03-12 13:49:07 · 607 阅读 · 0 评论 -
AsyncTask详解
package company.zzw.john.threadtest;import android.app.ProgressDialog;import android.os.AsyncTask;import android.widget.Toast;/** * Created by john on 2016/4/3. *//** * Params------第一个泛型参数设置为Void,原创 2016-04-03 16:07:24 · 336 阅读 · 0 评论 -
APP发生卡顿,以及优化思路
发生卡顿的两个原因是: 1.程序本身: 需要网络加载一些耗时的东西,网络不通畅可能导致暂时或者长久的卡顿 一些耗时的算法,内存消耗过于庞大 线程的阻塞,一些耗时的要尽量放到子线程中进行操作 主线程尽量直放一些UI控件, 网络请求放到子线程中 2硬件问题 解决: 安卓APP想让应用流畅运行,需要运行60帧每秒,则需要每帧的处理不超过16ms, 不要阻塞UI线程,不要再UI线程之外操原创 2016-03-17 23:09:43 · 1758 阅读 · 0 评论 -
利用JsonObject解析Json数据
package json1.com.example.john.json_;import android.app.ProgressDialog;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;原创 2016-03-17 23:18:48 · 874 阅读 · 0 评论 -
handler机制
每个应用中都有多个子线程,而子线程不能够更新UI,所以使用handler来进行协助更新UI 在应用中又有MessageQueue来存放很多个Message,再通过handler吧子线程发来的消息放入MessageQueue中。 其中MessageQueue由looper循环器中的loop()方法来进行死循环遍历。 但是每开启一个应用就会开启一个java虚拟机,但是怎么能够让l原创 2016-03-18 10:20:07 · 319 阅读 · 0 评论 -
安卓的一点小问题
1.layout中创建的.xml文件的起名范围:(a-z)(0-9)(_ .)2.为了满足线程间的通信,android提供了 Handler和Looper3.如果在android应用中要发送短信,那么要在mainfest文件中添加 android.permission.SEND_SMS权限4.在对一些资源以及状态的操作保存,最好是保存在生命周期的onPause函数中。 onCreate函数:初始原创 2016-03-30 23:24:18 · 876 阅读 · 0 评论 -
实现多线程下载
package com.zzw.download;import java.io.File;import java.io.InputStream;import java.io.RandomAccessFile;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;原创 2016-03-20 19:08:47 · 437 阅读 · 0 评论 -
单线程模型中Message,Handler,MessageQueue,Looper之间的关系
拿主线程来说,主线程启动时会调动Looper.prepare()方法 会初始化一个Looper,放入ThreadLocal中, 接着调用Looper.loop()方法死循环遍历MessageQueue,Handler的创建依赖于当前线程的looper类,如果当前线程没有Looper则必须调用Looper.prepare()。Handler.sendMessage到 MessageQueue,L原创 2016-03-20 22:57:52 · 451 阅读 · 0 评论 -
若果有个100M大文件,需要上传至服务器,服务器表单最大上传2Mb,求解
使用http协议进行上传数据,假设真的每次 上传只能上传2M,我们可以采用多线程的 方式来进行文件传输,也就是把文件分段,假设可以开启50个线程同时进 行,即每个线程传2M这样既能加快传输的速度,又能够上传100M的文 件,但是实际上开启50个线程同时进行基本上很难实现,所以我们可以采 用断点续传的方式,来进行传输,可以开启几个线程,进行一次文件传输,然后记录下第一次几个线程传输的文件po原创 2016-03-20 23:18:17 · 4195 阅读 · 0 评论 -
内存溢出,内存泄漏,内存优化
内存泄漏通俗的讲就是软件运行所需要的内存超出了他可以使用的内存内存泄漏就是我们对某一个内存空间的使用,使用过后没有及时的释放掉内存优化:Android比较容易发生内存溢出的部分就是图片的加载,其中 对于一些比较大的图片我们可以将其进行压缩,并且可以使用LruCache 缓存的目的来控制图片能够使用的内存。还有一些比较消耗资源的对象及时的关闭掉比如:Database,Conn,各种传感器,以及Se原创 2016-03-20 23:28:58 · 367 阅读 · 0 评论 -
断点续传实现文件下载
package com.zzw.download;import java.io.BufferedReader;import java.io.File;import java.io.FileOutputStream;import java.io.FileReader;import java.io.InputStream;import java.io.OutputStream;import原创 2016-03-21 09:47:31 · 693 阅读 · 1 评论 -
GreenDao数据库框架 最精简使用教程 并对其进行简单封装
GreenDao框架的使用步骤:(android studio)1.首先在project的build.gradle下进行添加如下依赖:dependencies { classpath 'org.greenrobot:greendao-gradle-plugin:3.1.1' }2.然后在Module的build.gradle下添加如下: sourceSets{ main{原创 2016-09-10 23:08:22 · 3754 阅读 · 0 评论