android
bidianzhang
这个作者很懒,什么都没留下…
展开
-
如何对Android应用程序进行JUnit测试
创建单元测试用例下面创建第一个单元测试用例,鼠标右键点击simplecalc.test的包,在弹出的菜单中选择NewàJUnit Test Case,如下图所示:步骤8 设置单元测试用例接下来对单元测试进行如下设置设置选择使用Junit 3源代码目录:这里要设置为SimpleCalcTest工程的代码目录Package:这里设置为co转载 2016-04-11 21:41:48 · 498 阅读 · 0 评论 -
Android编程中的实用快捷键
作为一个优秀的程序员,不但要能开发出漂亮的软件,也要能熟练掌握编程的技巧,包括IDE的快捷键使用。比如linux下的VI编辑器,对于不熟练快捷键的人来说就是一个噩梦,但一旦你熟练了VI的快捷键,VI的效率会比用鼠标的编辑器还高。甚至VI为了减少手指在主键盘区和方向键之间切换的时间耗散,直接将方向键设为了hjkl,可见熟练键盘使用对程序员的意义是多么重要。Android官方推荐的开发平台Ecli转载 2013-07-16 09:20:40 · 727 阅读 · 0 评论 -
Android开发之Eclipse快捷键大全
刚刚接触Android开发的童鞋们,是不是觉得Eclipse开发工具十分的强大?看着大牛们敲代码飞快的使用着快捷键,是不是很佩服和羡慕?确实,快捷键的灵活使用能够让你更快速的开发程序。下面将收集了一些Eclipse开发工具常用的快捷键:作用域 功能 快捷键 全局 查找并替换 Ctrl+F 文本编辑器 查找上一个 Ctrl+Shift+K 文本编辑器 查找下一个 Ctrl+K 全局 撤销转载 2013-07-16 09:11:54 · 546 阅读 · 0 评论 -
android中不同activity传递数据
有两种方法传递数据1. 在第一个activity中 Intent intent = new Intent(); msg = editText.getText().toString(); //获取编辑框中字符串 intent.put原创 2013-07-16 12:01:34 · 726 阅读 · 0 评论 -
setContentView(R.layout.activity_main) Error解决方法
今天在写Android代码的过程中,编译器一直报错,错误出在这一行代码:setContentView(R.layout.activity_main)提示信息是:activity_main cannot be resolved or is not a field我就觉得很奇怪,我在R.layout里面明明看到自动生成了默认的布局activity_main,为什么在这里引用就出错呢转载 2013-07-14 16:11:52 · 2752 阅读 · 0 评论 -
Eclipse中鼠标光标变粗
你按一下键盘上的“insert”键就好了。(这个键在回车键的右上方,在“delete”键的正上方)原创 2013-06-27 18:04:08 · 1888 阅读 · 0 评论 -
全局搜索的时候报错problems encountered during text search
用快捷键Ctrl+H做全局搜索的时候,就是比如查找项目中哪里出现过我的名字,几乎都会出现一个problems encountered during text search错误,原因是文件系统不同步问题resource is out of sync with the file system。是因为在eclipse之外对工程中的resource进行修改引起的,手动刷新一下项目就不会出现错误了。转载 2013-06-27 16:24:44 · 2792 阅读 · 0 评论 -
android SQLiteOpenHelper使用示例
我们大家都知道Android平台提供给我们一个数据库辅助类来创建或打开数据库,这个辅助类继承自SQLiteOpenHelper类,在该类的 构造器中,调用Context中的方法创建并打开一个指定名称的数据库对象。继承和扩展SQLiteOpenHelper类主要做的工作就是重写以下两个 方法。onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表转载 2013-06-27 16:08:13 · 787 阅读 · 0 评论 -
将csv数据文件导入到sqlite数据库中
使用SQLite官方工具 sqlite shell即可。进入sqlite shell后,使用命令: .import。注意import前面有个点。操纵如下: sqlite> .import csv文件 表名注1: 不要忘了开首的点注2: 这条语句不需要用分号停止. 非SQL不须要分号停止.注3: 最好先查看默认的分隔符(separator)和csv文转载 2013-06-27 15:19:48 · 16729 阅读 · 2 评论 -
invalid resource directory name
android的res目录是固定的,只能是下面的几种,如果加了其他的目录,它会报‘invalid resource directory name'的错误,其实加了其它系统不认的目录,系统也不能提供相应的象Resources.getDrawable() and Resources.getColor(), Resources.openRawResource() 去引用资源呀。 anim d转载 2013-06-27 15:56:05 · 1086 阅读 · 0 评论 -
Android调节屏幕亮度分析源码
大家知道在android中是怎么调节亮度了吗,接下来刘让我们去看看使用android中调亮点的代码解析吧 brightness(亮度)是window中的一个属性 修改亮度需要取得window属性 方法为:?代码片段,双击复制010203 WindowManager.L转载 2013-06-18 13:59:49 · 2294 阅读 · 1 评论 -
notifyDataSetChanged() 动态更新ListView
有时候我们需要修改已经生成的列表,添加或者修改数据,notifyDataSetChanged()可以在修改适配器绑定的数组后,不用重新刷新Activity,通知Activity更新ListView。今天的例子就是通过Handler AsyncTask两种方式来动态更新ListView.从今天起,每次学习的源代码都会打包上传,方便各位同学学习,注册帐号即可下载。布局main.xml:转载 2013-06-08 19:07:46 · 988 阅读 · 0 评论 -
LayoutInflater的inflate函数用法详解
LayoutInflater作用是将layout的xml布局文件实例化为View类对象。获取LayoutInflater的方法有如下三种:?LayoutInflater inflater=(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);转载 2013-06-09 10:06:52 · 701 阅读 · 0 评论 -
Android ListView分页加载数据Demo
一个简单的Android分页加载数据的实例,实例中加载方式是滑动到底部自动加载下页数据,现在加载方式可以是点击拖拽一个自己定义的控件。 下面是一个主要的Activity代码:01public class MainActivity extends Activity {02 priv转载 2013-07-16 10:49:42 · 1483 阅读 · 0 评论 -
android捕获ListView中每个item点击事件
public class Layoutsextends Activity { /** Called when the activity is first created. */ private ListView mylistview; private ArrayList list = new ArrayList(); @O转载 2013-07-16 11:07:07 · 785 阅读 · 0 评论 -
Socket通信readObject()方法出现异常
Item类必须在客户端和服务器端包名保持一致。因为Item作为可序列化的类,那么该类文件第一行的package不同的话,是不可反序列化的。转载 2015-10-24 21:47:35 · 1718 阅读 · 0 评论 -
android中ListView拖动时背景黑色的问题
前几天我做项目的时候,曾经遇到过这个问题,当我拖动列表的时候,会发现ListView的背景一片黑色,而且所有被选中的文字都变成一片漆黑。改了好几种方式都没解决,没把我搞死,后来还是问同事才把它解决掉。今天在网上看到讲解这个问题的博客,发现它说的解决办法和我的解决办法一样。为了让自己以后不再在这些小问题上卡住,特此写篇博客记住。其实,这个问题发生的原因在于ListView存在缓存颜色机制,因此我们可转载 2013-10-17 16:07:04 · 665 阅读 · 0 评论 -
Android开发:LayoutParams的用法
LayoutParams继承于Android.View.ViewGroup.LayoutParams. LayoutParams相当于一个Layout的信息包,它封装了Layout的位置、高、宽等信息。假设在屏幕上一块区域是由一个Layout占领的,如果将一个View添加到一个Layout中,最好告诉Layout用户期望的布局方式,也就是将一个认可的layoutParams传递进去转载 2013-10-15 11:35:07 · 638 阅读 · 0 评论 -
HTTP请求:GET与POST方法的区别
程商城签到沙龙图书周刊源码博客淘帖心情墙巴士站下载豆充值人才招聘第一种版本:HTTP 定义了与服务器交互的不同方法,最基本的方法是 GET 和 POST。事实上 GET 适用于多数请求,而保留 POST 仅用于更新站点。根据 HTTP 规范,GET 用于信息获取,而且应该是 安全的和 幂等的。所谓安全的意味着该转载 2013-10-14 17:09:50 · 703 阅读 · 0 评论 -
Android数据的四种存储方式SharedPreferences、SQLite、Content Provider和File (三) —— SharePreferences
除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data//shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的转载 2013-10-15 10:27:51 · 570 阅读 · 0 评论 -
Myeclipse/Eclipse 中修改默认字符编码
Eclipse默认的新项目的编码是GBK,出于对编码支持的考虑,项目组中最好统一要求是UTF-8编码进行开发。修改eclipse的配置,可以使得eclipse的新建项目的默认编码直接为UTF-8 在菜单栏的Window->Preferences->General->Workspace->Text file encoding 将其改为UFT-8即可。这个也是安装完Eclipse之后应该立刻做转载 2013-07-22 14:17:11 · 2432 阅读 · 0 评论 -
Android实现系统联系人字符分组以及字母表导航效果 .
功能的实现结合了网上很多非常的好的实现,小小的优化看下。实现思路:1. 获取手机联系人列表:通过Uri uri = Uri.parse("content://com.android.contacts/data/phones"); 查询联系人列表2 联系人的字段非常的多,摘取了NAME = "name", NUMBER = "number", SORT_KEY = "sor转载 2013-07-19 14:12:48 · 762 阅读 · 0 评论 -
Android Call requires API level 11 (current min is 8)的解决方案
【错误描述】 在用Eclipse开发过程中,为了兼容Android2.2和4.0以上版本,我在使用Notification类时做了2个版本的代码,代码根据系统版本不同执行相应模块,结果,等我输完代码,发现系统提示了一个这么的错误。【原因分析】 不详,可能和Run Android Lint有点关系吧。就是创建项目时,我们设置了最低版本API Level,比如我的是转载 2013-07-19 15:56:03 · 717 阅读 · 0 评论 -
Android中Adapter的getView方法复用view机制
近来回答了一位朋友关于Adapter中getView()方法复用view机制的问题,想到自己也曾对这个问题迷茫了许久,相信还有不少初学者对这个问题很是头疼吧。鉴于网上针对这个问题的讲解不多,我就举个简单的例子来说一说,尽量做到详细,希望对新人能有所帮助。相信大家对线程池或者数据库连接池都比较熟悉就拿ListView来说吧,它也有这么一个东西,我们暂且称它——vi转载 2013-07-19 11:17:58 · 840 阅读 · 1 评论 -
Java中Runnable和Thread的区别
在java中可有两种方式实现多线程,一种是继承Thread类,一种是实现Runnable接口;Thread类是在java.lang包中定义的。一个类只要继承了Thread类同时覆写了本类中的run()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。下面看例子:package org.thread.demo; class MyThread extends Th转载 2013-07-18 17:01:05 · 469 阅读 · 0 评论 -
Android中如何使用ViewPager实现类似laucher左右拖动效果
现在很多Android应用在首次安装完都会有指引如何使用该应用的某些功能的指引界面,这样会获得很好的用户体验,能够帮助用户更好使用应用的某些功 能。其实该功能和Android主界面的 luncher 的功能完全一样的效果,可以实现左右拖动。下面结合 ViewPager 的实例来展示如何实现该功能,先看下该Demo的结构图:注:ViewPager类是实现左右两个屏幕平滑地切换转载 2013-07-18 14:39:08 · 835 阅读 · 0 评论 -
android全屏去掉title栏的多种实现方法
android全屏去掉title栏包括以下几个部分:实现应用中的所有activity都全屏/实现单个activity全屏/实现单个activity去掉title栏/自定义标题内容/自定义标题布局等等感兴趣的可参考下啊1.实现应用中的所有activity都全屏 在manifest中直接加入 复制代码代码如下:android:theme="@android:style/转载 2013-07-16 18:23:36 · 1063 阅读 · 0 评论 -
Adapter中notifyDataSetChanged的作用
对于Android开发来说处理一些界面需要和Adapter适配器打交道,虽然Android自带了一些比如ArrayAdapter但是大多数情况下无法满足我们需要,所以就要从BaseAdapter派生一个类满足我们特殊的需要。 首先我们可能重写getView(),通过LayoutInflater的inflate方法映射一个自己定义的Layout布局xml加载或从xxxView中创建。这些大转载 2013-06-18 14:10:56 · 3413 阅读 · 0 评论 -
Android中notifyDataSetInvalidated()和notifyDataSetChanged()有什么区别
看下源码中对于这两个方法 public void notifyDataSetChanged () 该方法内部实现了在每个观察者上面调用onChanged事件。每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。 public void notifyDataSet转载 2013-06-08 11:18:10 · 847 阅读 · 0 评论 -
Android 的HashMap介绍
在Android开发中我们经常需要对数据进行分类和操作,对于轻量级的数据存储我们可能不需要动用SQLite或效率以及类库不完善的XML,由于SharedPreferences不具备数据枚举方法,如果仅仅是一个String或Int数组可以通过一个标记分割设计外,我们还是主要来看看Android或者说Java提供的基础数据类型辅助类ArrayList LinkedList Set HashMap的转载 2013-06-08 09:46:12 · 641 阅读 · 0 评论 -
android 属性系统使用
这里说明一下具体使用场景及方法:需求:有一个应用需要操作mtd flash,这是一层比较底级的接口操作,针对此类接口封装好了libmtd_flash.so,但是同时碰到一个问题,应用对设备没有访问权限,多放查证增加了对sdcard的访问等还是不行,那么解决这个问题的方法就是两个:1、在c++层做一个service,使用binder作为客户端联系桥梁2、使用android自带转载 2013-06-06 15:31:19 · 463 阅读 · 0 评论 -
android sdk 接口测试
最近接触到了第一个安卓项目,是关于安卓的接口测试的。于是呼一通找资料,看了五花八门的文章、文档,但是并没有非常适合的。现在决定把学习的过程写下来,如果能帮到一两个跟我一样情况的就很开心了,开始学着记录学习笔记。 Android提供了一系列强大的测试工具,它针对Android的环境,扩展了JUnit测试框架。允许你为应用程序的各个方面进行更为复杂的测试,包括单元层面及框架层面。转载 2013-06-14 16:37:11 · 7285 阅读 · 0 评论 -
android导入工程缺少R文件解决办法 和其他的不一样
这个问题我百度谷歌,主流解决方案还是project—clean,我这里还是发生不了任何奇迹,不管你信不信,反正我是信自己,那怎么办呢?继续百度,看了某位“同仁”也对抄袭过来的解决方案加以批判,说出自己的解决方案,我在不大看好他的解决方法情况下,尽然解决了!方案如下 在Library中把Is Library选项打上勾,就把上面的错误干掉了。经过这点小事情,其实也不算小事情,希望大家不要抄转载 2013-06-14 15:02:11 · 3069 阅读 · 2 评论 -
Android开发二:工程目录结构详解
HelloWorld程序的目录结构概述我们可以在文件夹中看到,HelloWorld程序的目录主要包括:src文件夹、gen文件夹、Android文件夹、assets、res文件夹、 AndroidManifest.xml、default.properties。在Eclipse的左侧展开HelloWorld项目,可以看到如下图的目录结构:下面将分节介绍上面的各级目录结构。转载 2013-06-05 15:02:44 · 595 阅读 · 0 评论 -
Android中Activity启动模式详解
在Android中每个界面都是一个Activity,切换界面操作其实是多个不同Activity之间的实例化操作。在Android中Activity的启动模式决定了Activity的启动运行方式。 Android总Activity的启动模式分为四种:Activity启动模式设置: ".MainActivity" android:launchMode="stan转载 2013-06-05 18:08:00 · 419 阅读 · 0 评论 -
Android开发——关于onCreate的解读
当我们创建好一个Android项目后,打开src下的java文件时,我们会看到已经写好的类,但你知道这些都是什么含义么? 题外话:今天晚上陈老师给串讲了一下Android入门,有一个环节,我记得是这样问的:在AndroidManifest.xml文件中的元素中有这么两句: 你知道中间的两句话都转载 2013-06-05 17:26:41 · 1849 阅读 · 0 评论 -
从零开始--系统深入学习android
http://www.cnblogs.com/tianjian/category/354587.html原创 2013-06-05 17:15:42 · 401 阅读 · 0 评论 -
android调试初步(用eclipse 打断点调试 和使用logcat输出))(转)
源于:http://hi.baidu.com/tozhang/item/51a9ba486bfedb0d6dc2f096一 . 用eclipse 打断点调试创建完HelloWorld工程后,打开HelloWorld.java 文件。右击左侧的行号位置,弹出如下菜单。选择 Toggle Breakpoint会打上一个断点。在某行打上断点后,在行号位置会出现转载 2013-06-05 15:35:04 · 3307 阅读 · 0 评论 -
rawQuery()方法的使用例子
SQLiteDatabase的rawQuery()用于执行select语句,使用例子如下:SQLiteDatabase db= ....;Cursor cursor = db.rawQuery("select * from person",null);...cursor.close();db.close();rawQuery()方法的第一个参数为select语句;第二个参数为s转载 2013-06-13 14:16:08 · 39895 阅读 · 2 评论 -
Java中ArrayList类详解
1、什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和IList接口 灵活的设置数组的大小2、如何使用ArrayList 最简单的例子: ArrayList List = new ArrayList(); for( int i转载 2013-06-08 19:07:10 · 772 阅读 · 0 评论