- 博客(54)
- 收藏
- 关注
原创 android attrs.xml declare-styleable 属性
首先来看看attrs.xml文件。该文件是定义属性名和格式的地方,需要用包围所有属性。其中name为该属性集的名字,主要用途是标识该属性集。那在什么地方会用到呢?主要是在第三步。看到没?在获取某属性标识时,用到"R.styleable.ToolBar_buttonNum",很显然,他在每个属性前面都加了"ToolBar_"。在来看看各种属性都有些什么类型吧:string , int
2015-10-13 16:04:08 778
原创 android拍照,截图,保存并显示在ImageView控件中
以下是activity中的代码,代码如下:package com.fk.test;import java.io.File;import java.io.FileNotFoundException;import java.io.IOException;import java.text.SimpleDateFormat;import java.util.Date;import andr
2015-09-24 14:06:17 1009
原创 ListView与CheckBox混用焦点的问题
android:focusable="false" android:focusableInTouchMode="false" android:clickable="false" 这三句很重要,如果不加就会出现错误。 由于checkbox的点击事件优先级比listview的高,所以要在checkbox中添加android:focusable="false",使得checkbox初
2015-09-24 13:31:55 491
转载 Android网络通信的六种方式
具体参见如下链接的介绍!http://blog.csdn.net/yuzhiboyi/article/details/7733054
2015-09-22 14:52:11 528
原创 Android异步下载网络图片(其三:ExecutorService)
在第一节中,我们使用Handler、Thread/Runnable 、URL、HttpURLConnection等等来进行异步下载网络图片。然后第二节中换了AsyncTask方式。那么这一节我们再应用其他方式,这个方式与第一节有点雷同,感觉走了一圈回到原地,只是风景更加美丽。人生很多时候也是如此,从NULL中来再回到NULL中。那么它是谁呢?java.util.concurrent
2015-09-22 14:47:50 404
原创 Android异步下载网络图片(其一Handler)
项目中有时候需要获取网络上的图片,并下载下来到手机客户端显示。怎么做呢?实现思路是: 1:在UI线程中启动一个线程,让这个线程去下载图片。 2:图片完成下载后发送一个消息去通知UI线程 2:UI线程获取到消息后,更新UI。 这里的UI线程就是主线程。 这两个步骤涉及到一些知识点,即是:ProgressDialog,Handler,Thread/
2015-09-22 14:37:44 415
原创 Android异步下载网络图片(其二AsyncTask)
使用Handler、Thread/Runnable 、URL、HttpURLConnection等等来进行异步下载网络图片,采用这几种方式有一些缺点,如下:线程的开销较大,如果每个任务都要创建一个线程,那么程序的效率要低很多。线程无法管理,匿名线程创建并启动后就不受程序的控制了,如果有很多个请求发送,那么就会启动非常多的线程,系统将不堪重负。另外,前面已经看到,在新线程中更新UI还必须要引
2015-09-22 14:31:41 507 1
原创 Android 点击空白处自动隐藏输入法
方法1: 简单但有时会无效InputMethodManager manager= (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated m
2015-09-21 18:03:03 531
原创 【Android】android:windowSoftInputMode属性详解
首先,我们从这个属性的名称中,可以很直观的看出它的作用,这个属性就是来设置窗口软键盘的交互模式的。activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。这个属性能影响两件事情:【一】当有焦点产生时,软键盘是隐藏还是显示 state【二】是否减少活动主窗口大小以便腾出空间放软键盘 adjust它的设
2015-09-21 15:12:45 481
原创 android:windowSoftInputMode属性使用
活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情 :1> 软键盘的状态——是否它是隐藏或显示——当活动 (Activity)成为用户关注的焦点。2> 活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。它的设置必须是下面列表中的一个值,或一个 ”state…
2015-09-12 12:10:31 259
原创 Xutils和Volley请求服务器的使用
public void getSmsCode(final String phoneNumber) { RequestParams params = new RequestParams(); params.addQueryStringParameter("phoneNumber", phoneNumber); String httpurl = Constant.httpUrl + "se
2015-09-07 09:30:06 683
原创 使用Volley框架,不走onResponse和onError方法
一般正常使用Volley框架后,请求成功,网络畅通的情况下就会执行onResponse,返回服务器传回来的一些值,如果网络不畅通的情况下,就会走ErrorResponse的方法。以前都能正常运行,但是今天却遇到了难题,既不走onResponse,也不走ErrorResponse方法。经过检查,发现最后少了一步,没有把请求加入到请求队列里面:加上这一步,就可以了。requestQueue.a
2015-08-31 17:51:46 1930
原创 Android AsyncTask onPostExecute()不执行,与JPush冲突
今天做项目的时候,出现了奇怪的状况,AsyncTask 的onPostExecute()方法不执行,上网查找了一番,都没有找到原因,但是网上大多数原因介绍是需要UI主线程中调用AsynTask,突然想起今天还添加了极光推送相关代码,于是,将极光推送代码注释后,果然onPostExecute()能够正常执行。 于是去极光推送官网查找,果然发现有相关问题,JPUSH会影响Asyn
2015-08-31 12:12:18 1068
原创 Android AsyncTask实现异步任务的执行
Android的AsyncTask比Handler更轻量级一些,适用于简单的异步处理。 首先明确Android之所以有Handler和AsyncTask,都是为了不阻塞主线程(UI线程),且UI的更新只能在主线程中完成,因此异步处理是不可避免的。 Android 1.5提供了一个工具类:AsyncTask,它使创建需要与用户界面交互的长时间运行的任务变得更简单。不需要借助线程和Ha
2015-08-31 11:26:41 390
原创 Android Bitmap详解,Bitmap(位图)转InputStream, InputStream转BitMap(位图)
package com.fk.utils;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.Iterator;import
2015-08-28 15:02:10 4929 1
原创 安卓下验证身份证号是否有效
package com.sinosoft.utils;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.GregorianCalendar;import java.util.Hashtable;import java.
2015-08-21 16:16:30 4265 1
原创 Android中验证输入是否为汉字及手机号,邮箱验证
1,验证是否为汉字 // 验证昵称 private boolean verifyNickname() { String nickname = edt_username.getText().toString(); if (nickname == null || nickname.length() == 0) { ed
2015-08-21 14:26:19 632
转载 Android UI线程和非UI线程
当应用启动,系统会创建一个主线程(main thread)。 这个主线程负责向UI组件分发事件(包括绘制事件),也是在这个主线程里,你的应用和Android的UI组件(components from the Android UI toolkit (components from the android.widget and android.view packages))发生交互。
2015-08-14 11:01:31 348
原创 Android进步之十六:badgeView的简单测试和介绍
数字提醒大家肯定都见识过。QQ、微信等app中如果有消息或者提醒的时候,就会展现给用户一个红点或者带有数字的点。前段时间微信上流行把自己的头像换成带有数字提醒的头像,让那些有强迫症的人真是抓狂。 下面我们就看一下怎么在自己的app中实现这种效果。 开发者当然可以自己用相对布局来实现这样的效果。一个还好,但是多了呢!就会很繁琐。GitHub上有一个开源的第三方
2015-06-10 17:58:29 706
原创 Android进步之十五:android中string.xml中%1$s、%1$d等的用法
一、使用xliff的用法:标签介绍: 属性id可以随便命名 属性值举例说明%n$ms:代表输出的是字符串,n代表是第几个参数,设置m的值可以在输出之前放置空格 %n$md:代表输出的是整数,n代表是第几个参数,设置m的值可以在输出之前放置空格,也可以设为0m,在输出之前放置m个0 %n$mf:代表输出的是浮点数,n代表是第几个参数,设置m的值可以控制小数位数,如m=
2015-06-10 14:36:06 371
原创 java基础复习之六:数据类型的转换
Java的数据类型在定义时就已经确定了,因此不能转换成其它数据类型。但java容许用户有限度地做类型转换处理,数据类型的转换方式分为”自动类型转换“和”强制类型转换“两种。自动类型转换:1:转换前的类型和转换后的类型兼容。2:转换后的数据类型的表示范围比转换前的类型大。举例来说,若是想将short类型的变量a转换为Int类型,由于short和int皆为整数类型,符合上述条件1; 而
2015-06-09 15:35:13 400
原创 java基础复习之五:字符及常用转义字符
字符类型在内存中只占2个字节,可以用来保存英文等字符,计肯机处理字符类型 时,是把这些字符当成不同的整数来看待,因此,严格来说,字符类型也算是整数类型的一种。在计算机的世界里,所有的文字,数值都只是一连串的0与1。这些0与1对于设计都来说实在是难以理解,于是就产生了各种方式的编码,它们指定一个数值来代表某个字符,如常用的字符编码系统ASCII。虽然各类的编码系统合起来有数百种之多,却没有一
2015-06-09 14:19:09 491
原创 java基础复习之四:注释,标识符,关键字, 变量,常量
注释:单行注释:注释内容前面添加双斜线//多行注释:注释内容以/*开头,以/*结尾文档注释:注释内容以/**开头,以*/结尾。用这种方法注释的文档会被解释成程序的正式文档,并能包含进如javadoc之类的工具生成的文档里,用以说明该程序的层次结构及其方法。标识符:Java中的包,类,方法,参数和变量的名字,可由任意的大小写字母,数字,下划线,美元符号组成,但标识符不
2015-06-09 11:15:34 362
原创 Android进步之十四:使用jackon的ObjectMapper的writeValueAsString方法可以把java对象转化成json字符串
如何把java对象转化成json字符串并打印出来呢?这里就用到了jackon的jar包,使用writeValuesAsString的方法就可以把对角转化成json字符串。下面通过一个demo,来仔细体会下如何去转化!1:先建一个javaBean。package com.sino.objectmapperdemo;public class BaseObject { privat
2015-06-05 09:40:11 14379 1
原创 Android进步之十三:selector各种状态详解
官方关于这个的介绍在:http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList先复制一个样例:xml version="1.0" encoding="utf-8"?>selector xmlns:android="http://schemas.an
2015-06-04 17:14:17 564
原创 Android进步之十二:9patch图
工具:sdk/tools/draw9patch.bat操作:鼠标左键点出黑点并拉伸,右键负责擦除黑点左边和上边:控制图片的拉伸效果右边和底边:控制文字内容显示的区域。图片被拖进去后,凡是周边显示的那种黑白小方格的区域都是透明的区域。右边有三个预览图,第一张是图片被上下拉伸时的效果,第二张是被左右拉伸时的效果,第三张是上下左右都被拉伸时的效果。左边控制图片的上下拉伸。上边
2015-06-04 16:23:36 359
原创 Android进步之十一:Json解析
Json数据格式,在Android中广泛应用于客户端和网络通信。 参考文档:http://www.ietf.org/rfc/rfc4627.txt?number=4627解析方法:JSONObject demoJson = new JSONObject(jsonString);String url = demoJson.getString("url");
2015-06-04 15:14:50 229
原创 Java基础复习之三:单例模式
常见写法有:第一种形式是 [java] view plaincopypublic class SingleTon { private SingleTon() { } private static final SingleTon ins = new SingleTon();
2015-06-03 18:03:20 358
原创 Android进步之路十:Handler修改UI界面之Demo
先大致说下步骤:1:点击按纽的时候,把线程加入消息对列2:在线程中,做进度变化的操作3:由handler向主线程发送修改UI界面的消息4:由handler负责处理消息并修改UI界面以下是我自己亲测的小demopackage com.example.handlerprogressbardemo;import android.os.Bundle;import an
2015-06-03 17:20:54 1195
原创 Android进步之路九:Handler出现的原因,特点以及实例
一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时
2015-06-03 11:13:35 435
原创 java基础复习之二:Java实现同步机制是(生产消费者)
Java实现线程的同步,可以通过synchronized,wait(), notitfy(), notifyAll();假设一个线程(生产者)生产产品,一个线程(消费者)消费产品,其访问的资源时间都是随机的,这样就是生产者必须得产品(资源)消费完成之后才可以生产,而消费者必须在产品有的时候才可以消费,这就是必须对资源进行同步操作,对资源的使用部分的代码需要加入锁。下列是我的实现方法:
2015-06-02 18:08:06 354
原创 Android进步之路八:异步下载图片和图片缓存
功能如下:流程如下:RemoteImageViewActivity:[java] view plaincopyprint?public class RemoteImageViewActivity extends Activity { /** Called when the activity is firs
2015-06-02 17:57:50 468
原创 Android进步之路七:handler机制原理
Android提供了handler和looper来满足线程间的通信。Handler先进先出的原则,Looper类用来管理特定线程内对象之间消息交换(MessageExchange)。(1):一个线程可以产生一个looper对象,由它来管理此线程里的MessageQueue(消息对列)。(2): 可以构造handler对象与looper进行沟通,以便push新消息到MessageQueue里
2015-06-02 17:24:53 433
原创 Java基础复习之一:static关键字的使用
Static是一个关键字,可以修饰成员变量和成员方法。特点:A:随着类的加载而加载B:优先于对象存在,静态方法不能使用this关键字C:静态方法是可以通过类名直接调用的,非静态的内容必须通过对象调用。静态的内容可以通过对象调用,也可以通过类名调用,推荐使用类名调用。D:静态的内容是被所有对象共享的。举例: 饮水机和水杯,教师和学生。前者都是被共享的。静态方法只能访问
2015-06-02 17:05:54 299
原创 Android进步之路六:android限制横竖屏切换的方法
在需要限制横竖屏切换的时候,只需要在AndroidManifest.xml文件中加入android:screenOrientation属性限制。android:screenOrientation="landscape" 是限制此页面横屏显示, android:screenOrientation="portrait" 是限制此页面数竖屏显示。 android:scree
2015-06-02 16:29:56 383
原创 Android进步之路五:startActivityForResult详解
举例说明,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Activity处理。---------------------------------------------------------------------------------------------
2015-06-02 14:39:51 290
原创 Android进步之路之基础篇:eclipse快捷键
Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对
2015-06-02 14:28:45 510
原创 Android进步之路四:SimpleAdapter类的具体用法
SimpleAdapter的构造函数是:public SimpleAdapter (Context context, List> data, int resource, String[] from, int[] to)官方说明了其各个参数含义,我这里根据自己的理解解释下: 第一个context,很明显大家根据英文可以知道是上下文的意思,它官方的意思是:Simp
2015-06-02 10:59:24 412
原创 Android进步之路三:String.format()的使用
String.format()生成具有特定格式的字符串,函数的第一个参数是格式,第二个参数是对应格式中每个代号的各种数据。由于格式字符串的存在,使得产生的长字符串的可读性大大提高了。这个函数的格式很像C语言中的printf().函数string.format在用来对字符串进行格式化的时候,特别是字符串输出,是功能强大的工具。这个函数有两个参数,你完全可以照C语言的printf来使用这个函数。第一个
2015-06-01 11:17:52 1619
原创 Android进步之路二:进度对话框的示例代码以及详解
使用代码ProgressDialog.show(ProgressDialogActivity.this, "请稍等", "数据正在加载中...", true);创建并显示一个进度对话框。调用setProgressStyle()方法设置进度对话框风格。有两种风格: ProgressDialog.STYLE_SPINNER 旋体进度条风格 (为默认风格) ProgressDia
2015-05-28 16:03:25 438
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人