
Android
Snail
这个作者很懒,什么都没留下…
展开
-
Volley请求框架的使用
Volley是Google I/O 2013上提出来的为Android提供简单快速网络访问的项目。Volley特别适合数据量不大但是通信频繁的场景。优点相比其他网络载入类库,Volley 的优势官方主要提到如下几点:1、队列网络请求,并自动合理安排何时去请求;2、提供了默认的磁盘和内存等缓存(Disk Caching & Memory Caching)选项;3、Volley...原创 2018-09-07 11:16:34 · 1346 阅读 · 0 评论 -
Android开发之ListView 适配器(Adapter)优化
ListView的Adapter的作用如下图所示:Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。想过没有? 在我们的列表有1000000项时会是什么样的?是不是会占用极大的系统资源?先看看下面的代码:public View getView(int positio转载 2012-01-13 10:14:07 · 11546 阅读 · 1 评论 -
自定义ListView中的分割线
ListView中每个Item项之间都有分割线,设置android:footerDividersEnabled表示是否显示分割线,此属性默认为true。1.不显示分割线只要在ListView控件中添加android:footerDividersEnabled="false"即可。<ListView android:id="@+id/local_groups_list" andr原创 2012-01-09 14:41:25 · 139192 阅读 · 11 评论 -
如何避免输入法弹出时遮挡住按钮或输入框
在AndroidManifest.xml中为对应的activity添加android:windowSoftInputMode="adjustResize"<activity android:name=".LocalGroupEditAddActivity" android:windowSoftInputMode="adjustResize" />原创 2012-01-09 15:10:56 · 12905 阅读 · 0 评论 -
APP安装支持安装到SDCard
1.只有Android2.2及以上版本支持APP安装到SDCard,也就是说Androidmanifest.xml中的android:minSdkVersion属性值大于等于82.在Androidmanifest.xml的manifest标签中添加android:installLocation属性。<manifest xmlns:android="http://schemas.an原创 2012-01-09 15:03:57 · 12437 阅读 · 0 评论 -
自定义ListView的Item项在pressed或selected等状态时的颜色
在此Item项布局文件中添加android:background="@drawable/list_selector"********list_selector.xml********原创 2012-01-09 14:30:05 · 18448 阅读 · 0 评论 -
Android中设置控件可见与不可见详解
通常控件的可见与不可见分为三种情况。第一种 gone 表示不可见并且不占用空间第二种 visible 表示可见第三种 invisible 表示不可见但是占用空间可见与不可见的表现形式有两种。在布局文件中:android:visibility="gone"android:visibility="visi原创 2011-12-27 15:46:06 · 46484 阅读 · 0 评论 -
Android中自定义checkbox样式
1.首先在drawable文件夹中添加drawable文件checkbox_style.xml。 2.在values文件夹下的styles.xml文件中添加CustomCheckboxTheme样式。 @drawable/checkbox_style3.在布局文件中使用CustomCheckboxTheme样式。原创 2011-12-27 17:31:24 · 174205 阅读 · 16 评论 -
调用系统铃声设置
1.调用系统铃声设置的Intent,界面上会弹出选择铃声的对话框。//用于选择铃声后作相应的判断标记private static final int REQUEST_CODE_PICK_RINGTONE = 1;//保存铃声的Uri的字符串形式private String mRingtoneUri = null;private void doPickRingtone() {原创 2011-12-27 15:29:12 · 8783 阅读 · 1 评论 -
Android拨打电话和发短信的简单程序
在模拟器上实现打电话和发短信,另外还可以在命令行下或者可以利用Eclipse的ADT插件的Emulator control实现,具体方法去如下。 命令行:假设你现在开启的模拟器的端口号(模拟器的标题栏上有)为5554。1.打开命令行,输入telnet localhost 5554回车后,会有如下提示,说明你已经连接5554端口成功。 Android Console: typ原创 2011-04-14 16:20:00 · 11004 阅读 · 7 评论 -
Ubuntu下Android4.0源码的下载和编译
花了一天的时间完成了Android4.0源码的下载和编译,下面分享下过程,不明白的地方请留言。 获取Android4.0源码,也可以参考Android官网的下载步骤:官网下载参考第一步,首先建立repo环境,把此目录添加到环境变量中。mkdir ~/binPATH=~/bin:$PATH第二步,下载repo工具。sudo apt-get install git-core原创 2011-11-27 16:05:37 · 9757 阅读 · 3 评论 -
Android各个版本号,发行时间以及版本代号
1.0 2008-9-23, HTC Dread (G1) 1.1 2009-2-9, T-Mobile G11.5 2009-4-30, Cupcake (纸杯蛋糕), Camera recording, Gallery etc…1.6 2009-9-15, Donut(甜甜圈),Search, Display(支持WVGA)原创 2011-11-18 21:00:33 · 4042 阅读 · 0 评论 -
Android编译后的目录结构
Android编译完成后,将在根目录中生成一个out文件夹,所有生成的内容均放置在这个文件夹中。out文件夹目录结构如下所示:out/-- CaseCheck.txt-- casecheck.txt-- host -- common原创 2011-10-17 17:17:31 · 4481 阅读 · 0 评论 -
编译Android源码时常见问题以及解决方法
下载Android源码之后,这里以Android 2.3(gingerbread)为例,编译时可能会遇到的一些问题,下面来总结下这些常见的问题以及解决方法。1.make: *** No rule to make target `run-java-tool', need原创 2011-10-13 16:36:57 · 11502 阅读 · 0 评论 -
获取手机屏幕大小
DisplayMetrics dm = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(dm);//屏幕宽度int widthPixels = dm.widthPixels;//原创 2011-04-21 13:02:00 · 7392 阅读 · 4 评论 -
Android单元测试的步骤
Step1:向AndroidManifest.xml文件添加以下标签元素位于元素体内<instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPac原创 2011-09-27 20:35:30 · 2613 阅读 · 1 评论 -
基于ListView和CheckBox实现多选和全选记录的功能
应用开发中经常会有从数据库中读取数据显示,然后选中多条、全部记录并且删除的需求。在做定制系统联系人的时候也遇到这样的需求,下面写个简单的通过ListView和CheckBox实现多选、全选的例子。下面是具体的代码,有问题请留言。代码下载地址:MultiSelect.rar MultiSelectActivity/** * @author zuolongsnail@163.原创 2011-12-08 10:17:39 · 8116 阅读 · 3 评论 -
Java中的Timer和TimerTask在Android中的用法
在开发中我们有时会有这样的需求,即在固定的每隔一段时间执行某一个任务。比如UI上的控件需要随着时间改变,我们可以使用Java为我们提供的计时器的工具类,即Timer和TimerTask。 Timer是一个普通的类,其中有几个重要的方法;而TimerTask则是一个抽象类,其中有一个抽象方法run(),类似线程中的run()方法,我们使用Timer创建一个他的对象,然后使用这对象的sched原创 2012-11-10 11:07:31 · 93532 阅读 · 9 评论 -
Android请求Webservice的封装(利用运行时注解和反射实现参数设置和数据解析)
介绍在工作中使用webservice请求的时候需要单独写参数的设置以及请求后的数据解析,于是对这块进行了封装,利用了运行时注解和反射机制实现参数封装,数据返回使用json格式数据,利用反射实现解析封装。具体源码请看这里:https://github.com/zuolongsnail/WebserviceTest不足:1.利用运行时注解和反射在使用时效率不高;2.参数的封装和解析可以...原创 2018-09-03 10:24:00 · 1644 阅读 · 0 评论 -
Android开发干货大全(持续更新)
Android开源项目:Android 开源项目分类汇总GitHub上排名前100的Android开源库介绍一个用于app指向性功能高亮的库个人站点:代码家鸿洋Android开发工具:Android Studio 国内下载渠道Android源代码在线查看和索引网站原创 2016-03-10 10:45:33 · 9716 阅读 · 0 评论 -
Android中的SharedPreferences存储数据方式
1.概述。SharePreferences是用来存储一些简单配置信息的一种机制,使用Map数据结构来存储数据,以键值对的方式存储,采用了XML格式将数据存储到设备中。例如保存登录用户的用户名和密码。只能在同一个包内使用,不能在不同的包之间使用,其实也就是说只能在创建它的应用中使用,其他应用无法使用。创建的存储文件保存在/data/data//shares_prefs文件夹下。原创 2011-06-20 16:58:00 · 56899 阅读 · 1 评论 -
Android中的几种网络请求方式详解
<br />Android应用经常会和服务器端交互,这就需要手机客户端发送网络请求,下面介绍四种常用网络请求方式,我这边是通过Android单元测试来完成这四种方法的,还不清楚Android的单元测试的同学们请看Android开发技巧总结中的Android单元测试的步骤一文。<br />java.net包中的HttpURLConnection类<br />Get方式:<br />// Get方式请求public static void requestByGet() throws Exception {原创 2011-04-29 22:53:00 · 82430 阅读 · 8 评论 -
开发中常用代码片段汇总(持续更新)
1.如何求两个整数的百分比 int currentindex = 55;int totalcount = 66;NumberFormat nf = NumberFormat.getPercentInstance();final String persent = nf.format(((float)currentindex/(float)totalcount)); 2.从一个...原创 2011-09-27 20:40:46 · 2004 阅读 · 1 评论 -
百度离线地图开发过程中遇到的坑!
需求场景:移动设备在完全无互联网环境下打开百度地图。实现:使用百度离线地图(离线环境下貌似不需要key的认证),把离线地图包拷贝到SD卡目录下,然后在应用中导入离线地图包来显示地图,根据自己的需要下载指定设备的离线包。离线地图包下载地址:http://wuxian.baidu.com/map/map.html?from=3052坑1:在实现过程中,发现百度Android原创 2016-03-09 16:56:08 · 15044 阅读 · 1 评论 -
Android日常开发总结的技术经验60条
1. 全部Activity可继承自BaseActivity,便于统一风格与处理公共事件,构建对话框统一构建器的建立,万一需要整体变动,一处修改到处有效。2. 数据库表段字段常量和SQL逻辑分离,更清晰,建议使用Lite系列框架LiteOrm库,超级清晰且重心可以放在业务上不用关心数据库细节。3. 全局变量放全局类中,模块私有放自己的管理类中,让常量清晰且集中.4. 不要相信转载 2016-03-07 10:39:49 · 6362 阅读 · 0 评论 -
Android自定义View时使用TypedArray配置样式属性
在自定义view时为了提高复用性和扩展性,可以为自定义的view添加样式属性的配置,比如自定义图片资源、文字大小、控件属性等,就这需要用到TypedArray类,下面以一个自定义的可点击扩展和收缩的TextView为例记录下这个类的简单使用。原创 2016-01-08 14:28:42 · 5496 阅读 · 0 评论 -
Android NDK开发介绍
一、 JNI基础介绍JNI is the Java Native Interface. It defines a way for managed code (written in the Java programming language) to interact with native code (written in C/C++).JNI(Java本地接口):定义一种方式,使得Ja原创 2015-06-16 15:46:18 · 8734 阅读 · 0 评论 -
Android使用AIDL实现进程间通信
Android的每个应用程序都是一个不同的进程,在Android平台一个进程通常不能访问另一个进程的内存空间。比如一个应用程序有两个进程,一个进程负责UI的展示,而另一个进程(通常是在此进程中使用一个service)用来进行网络资源的请求,需要主进程和服务进程之间进行数据的传递。(微信就是使用的这种机制)Android提供了AIDL来实现进程间通信(IPC),AIDL全称为Android原创 2013-03-28 00:37:49 · 9691 阅读 · 4 评论 -
Android中一直走马灯效果的TextView
XML布局:<TextView android:layout_width="100dip" android:layout_height="wrap_content" android:ellipsize="marquee" android:focusable="true" android:focusableInTou原创 2013-02-16 17:14:10 · 27730 阅读 · 6 评论 -
在Android中通过Intent使用Bundle传递对象
Android开发中有时需要在应用中或进程间传递对象,下面详细介绍Intent使用Bundle传递对象的方法。被传递的对象需要先实现序列化,而序列化对象有两种方式:java.io.Serializable和android.os.ParcelableJava中使用的是Serializable,而谷歌在Android使用了自定义的Parcelable。两种序列化方式的区别:1.在使原创 2013-03-21 22:03:33 · 45545 阅读 · 1 评论 -
在命令行中通过adb shell am broadcast发送广播通知
通过命令行执行adb shell am broadcast发送广播通知。adb shell am broadcast 后面的参数有:[-a ][-d ][-t ] [-c [-c ] ...] [-e|--es ...] [--ez ...] [-e|--ei ...] [-n ][-f ] []例如:adb s原创 2012-11-09 18:48:14 · 166447 阅读 · 5 评论 -
如何判断Android设备是手机还是平板?
Android开发需要适配手机和平板,有些需求在实现中就要判断设备是手机还是平板。网上有的说直接判断是否有电话功能,不过现在的平板有的也支持电话功能了。所以只能通过计算设备尺寸大小的方法来判断是手机还是平板了。源码如下:/** * 判断是否为平板 * * @return */private boolean isPad() { WindowManager w原创 2013-03-17 10:35:01 · 33294 阅读 · 3 评论 -
Android中保存并设置ListView位置
ListView是Android开发中最常用的控件之一,在开发会遇到记录ListView的位置这样的需求。下面是保存并设置ListView位置的一种方法:// 设置ListView到记录的位置mListView.setSelection(mPosition);mListView.setOnScrollListener(new OnScrollListener() { /**原创 2013-02-16 16:51:54 · 21141 阅读 · 0 评论 -
Android中组装xml文件内容
在Android开发中经常遇到组装xml格式数据的需求,下面是解决方法,希望给大家带来帮助。下面这段xml文件内容是我们的需求。 zhangsan 26 lisi 25 下面是组装xml文件内容的代码。关于如何解析xml文件,请参见这篇博文:使用SAX解析XML文件原创 2012-12-21 10:41:44 · 8644 阅读 · 1 评论 -
Android中的通知—Notification
Notification是Android中常用的一种通知方式,当有未读短信或者未接电话的时候,屏幕的状态栏就会有提示图标,这时可以下拉状态栏来读取通知。在使用微信的时候(微信在后台运行),如果有新消息时便会发出声音提示,状态栏也有相应的微信提示。Android中Notific原创 2011-07-12 17:03:24 · 24059 阅读 · 0 评论 -
区分Activity的四种加载模式
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。加载模式分类及在哪里配置Activity有四种加载模式:standardsingleTopsingleT转载 2011-06-09 21:04:00 · 4472 阅读 · 3 评论 -
判断是否有SDCard存在并获取目录
File file = null;// 判断SDCard是否存在String status = Environment.getExternalStorageState();boolean isSDCardExist = status.equals(Environment.M原创 2011-09-27 20:37:55 · 4031 阅读 · 0 评论 -
Android中如何在应用A中启动或安装应用B
有时候一个应用需要启动另外一个应用来完成操作,比如在某些应用中打开闹钟,相机,日历等等。启动或安装相应的应用的方法:Step1:判断是否安装目标应用。只要知道目标应用的安装包名就可以通过判断"/data/data/packagename"是否存在来实现。/** * 判断是否原创 2011-06-01 18:10:00 · 10098 阅读 · 2 评论 -
在Windows环境下使用Git下载Android源代码
Git是用于Linux内核开发的版本控制工具。与常用的版本控制工具CVS, Subversion等不同,它采用了分布式版本库的方式,不必服务器端软件支持,使源代码的发布和交流极其方便。 Git的速度很快,这对于诸如Linux kernel这样的大项目来说自然很重要。 Git最为出转载 2011-07-08 10:08:42 · 10052 阅读 · 2 评论 -
Android中的长度单位详解
<br />in(英寸)长度单位(基本用不到)<br />mm(毫米)长度单位(基本用不到)<br />pt(point磅)1/72英寸,标准的长度单位(基本用不到)<br /> <br />px(pixel像素)指的是屏幕上的点<br />dp(与密度无关的像素)一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp=1px<br />dip(device independent pixels设备独立像素) 不同设备有不同的显示效果,这个和设备硬件有关。<br />sp(scaled pixels原创 2011-05-05 18:15:00 · 5846 阅读 · 0 评论