- 博客(53)
- 资源 (65)
- 收藏
- 关注
原创 解决自定义控件大小问题
对于一些我们不能直接使用的控件,我们通常会重写View来自定义功能和样式,这时放在布局文件里,设置为wrap_content后也是fill_parent的样式,不能在一个页面内同时显示两个自定义的组件,这时我们就需要重写onMeasure()方法。具体重写自定义组件的方法参见官方开发文档:http://developer.android.com/guide/topics/ui/custom-com
2012-12-06 11:31:26 8307 1
原创 手机端实现Protocol Buffer
最近在研究push技术,里面涉及到了Protocol Buffer来进行数据的封装,在网上查了一些资料,写个帖子记录一下。简介:protocol buffer 是 google 的一种数据交换的格式,它独立于语言,独立于平台。google 提供了三种语言的实现:java、c++ 和 python,每一种实现都包含了相应语言的编译器以及库文件。由于它是一种二进制的格式,比使用 xml
2012-10-16 20:20:44 7069 2
原创 冒泡排序和快速排序
快速排序的原文链接:http://www.cnblogs.com/morewindows/archive/2011/08/13/2137415.html有时间把分析写上去,直接先上代码冒泡排序:public class Main { public static void main(String[] args){ int[] array = new int[]{
2012-10-10 16:05:59 1039
原创 工厂模式(自己的理解和实现)
最近学习了工厂模式,看了网上的教程,也学习了别人的代码,最后自己按照自己的想法实现了一下。有想看原文的去这个网址 http://blog.csdn.net/mmquit/article/details/1672694如果想要看我自己实现的源码的,去这个网址下载。支持下小弟工作和学习热情,辛苦整理实现的,收取1分哈~~~大家别拍砖~~~。顺带说一下怎么能快速的获取积分来下载,你可以经
2012-10-10 11:13:04 7135 1
转载 策略模式的学习(转载的,我增加了Java代码实现)
原文地址:http://blog.csdn.net/cuoguo1111/article/details/1503480Java语言版下载地址:http://download.csdn.net/detail/carterjin/4625805 (支持下老弟,收取资源费1分~~~)C#语言版下载地址:http://www.cnblogs.com/Files/justinw/DesignPat
2012-10-08 16:57:05 1716
原创 重申“==”和equals的区别
在面试或者笔试的时候通常都会问这个问题,但是也查了好多资料,总感觉有些笼统而且不清晰,今天听了一个视频,终于确切的明白了,也比较完整的解释了一下。==:分两种情况1、基本类型:值是否相等2、引用类型:地址是否相等equals:也分两种情况1、直接调用Object类的equals方法,通过看Object.java源代码,可以看到 public boolea
2012-10-08 16:26:52 836
原创 单例模式(Singleton)
记录一下刚才学的单例模式的知识。public class SingletonTestMain { public static void main(String[] args){ // 测试第一种方式 SingletonObject obj1 = SingletonObject.getInstance(); SingletonObject obj2 = Sin
2012-10-08 11:28:30 719
原创 禁用AlertDialog的按钮
由于业务要求,需要在弹出AlertDialog的时候,将其中的一个按钮置为灰色,即禁用点击功能。下面是具体的实现方法,一个Demo布局很简单,一个按钮,点击后弹出禁用按钮的AlertDialog,就不放代码了。主要说一下有关禁用方面的话题 class MyOnClickListener implements OnClickListener{
2012-09-25 09:56:19 4839 2
原创 Android实现异步从网络加载图片列表
有时会有在加载ListView的时候,包含用户头像或其他需要到网络获取的图片信息,这时如果等待全部获取完成再显示会比较慢,很影响用户体验,所以这时就需要利用到异步加载图片的方法。今天整理的方法,是用Thread来进行加载,没有利用ThreadPool的方法,后面的方法以后再慢慢学一下吧,先把学会的这个记下来。 具体的效果是,加入每个ListView的项只需要显示一个图片,每张图片都
2012-09-19 15:44:53 10143 5
原创 反编译APK
弄了这么久,终于想起来抽空把反编译的方法整理一下了。目的:反编译apk,供自己研究学习,模仿别人的设计模式和好的代码习惯。所需工具:apktool,dex2jar,XJad。ApkTool(用来将APK解压,包括完整的XML文件和smali文件)通过Google搜索关键字“apktool”,得到网址,下载 apktool1.4.3.tar.bz2 和 apktool-i
2012-08-09 15:22:18 2268 1
原创 使用ViewPager实现几个界面的切换,类似QQ
这几天在研究ViewPager,简单的写一下如何使用ViewPager实现类似于QQ的“最近联系人、好友、群组”的界面切换(不知道他们是不是用这个方法实现的)。ViewPager已经在android-sdk中加入了,具体的位置在%android_sdk_home%\android-compatibility\v4%android_sdk_home%是你的android-sd
2012-08-02 17:20:02 4665
转载 HTTP协议头字段
一、基础篇HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内容请参考RFC2616。HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URI、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,相应的内容包括消息协议的版本,成
2012-07-20 16:44:23 10512
原创 动态设置全屏,退出全屏
实现全屏:private void setFullScreen(){ getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); }退出全屏:方法一:getWindow().setFlags(0, WindowMa
2012-07-20 16:34:14 1237
原创 通过AsyncTask实现网络请求的方式,get和post
在自己写了一些,另外看了一些项目组其他同学的代码以后,总结了一下有关使用AsyncTask完成get和post请求的几种方式,现总结如下:方式一:GET方式此种方式比较常用,对于一些安全性要求不高的请求,可以使用GET来完成。在Get方法的使用中,也有几种形式1、直接使用域名+路径+参数列表 @Override protected In
2012-07-20 11:51:53 6956
原创 得到保存在assets目录下的txt文件的内容
有时需要把一些不会改变的固定的内容写在程序里,直接放到源代码里非常不好,可以考虑放到assets文件夹下,如果是音频等元类型的,可以放到res/raw目录下。现在我的assets目录下,有一个txt文件,我需要在程序中把它的内容读出来。代码如下: /** * 读取Assets目录下txt文件中的字符串 */ public String read
2012-07-20 10:59:17 1514
原创 通过资源的名称,得到保存在R中的ID
在项目中有一组图片,都是以“xxx000”,”xxx001“的格式命名的,想要动态的通过后面三位(id)来得到这些图片保存在R中的ID,从而设置给ImageView。可以利用Resources类的getIdentifier方法得到int类型的ID值。int id = 0;ImageView image = new ImageView(context);id = getR
2012-07-20 10:53:51 2990
原创 EditText添加长度限制
在EditText中添加一个Filter,可以帮助实现。InputFilter[] filters = {new InputFilter.LengthFilter(17)}; // 设置最大长度为17个字符EditText editText = new EditText(Context);editText.setFilters(filters);
2012-07-20 10:27:54 1949
原创 根据不同屏幕,指定了dip值,获取px像素大小
有时候做适配的时候,在一款机器上写了多少dip值感觉效果不错,但是放到其他的地方,会感觉不舒服。这时候我想动态的通过px值来设置,而一般在代码里动态设置的时候,也是需要传入px值才行。下面就是我自己想的解决方法,望大家指正。步骤一:定义两个变量 int dpi = 0; // 本机的DPI int leftPx = 0; // 要设置的左边距
2012-07-20 10:08:47 2982
原创 自定义ProgressBar的旋转动画
小弟也是在项目中看到的,原来没有接触过,所以简单的写一下现在的实现方法。步骤一:在res/anim文件夹下定义一个动画,例如progress_bar_anim.xml<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android">
2012-07-20 09:55:58 10913 5
原创 设计自己的ProgressDialog
如果遇到了很慢的处理过程,例如从网络下载文件等操作,我们通常会使用AsyncTask类来辅助完成,而同时为了给用户合理的等待操作,通常会在AsyncTask的onPreExecute方法中,添加一个ProgressDialog,告知用户等待,系统自带的ProgressDialog有时不能满足我们的UI需要,这时需要我们自己来写,下面的内容就是实现了一个简单的带有旋转的ProgressDialo
2012-07-19 14:51:55 5351 3
原创 Android对APK文件的安装和卸载
安装APK文件方法一:传入File文件 public void installApp(File file) { try { Intent intent = new Intent(); intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); intent.se
2012-07-10 16:47:11 990
转载 Android判断网络是否连接
public static boolean isNetworkConnected(Context context) { ConnectivityManager cm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo info = cm
2012-07-10 13:59:35 705
转载 EditText和输入法
1.EditText默认不弹出软件键盘方法一: 在 AndroidMainfest.xml中选择哪个activity,设置windowSoftInputMode属性为adjustUnspecified|stateHidden< activity android:name=".Main" android:label="@string/app_name" an
2012-07-09 11:44:36 1885
转载 EditText的部分属性
本文主要研究一下EditText的属性(还没研究完,边研究边写) android:layout_gravity="center_vertical"//设置控件显示的位置:默认top,这里居中显示,还有bottom android:hint="请输入数字!"//设置显示在空间上的提示信息 android:numeric="integer"//设置只能输入整数,如果是小数则是:
2012-07-09 11:39:46 717
转载 解决使用AnimationDrawable无法播放动画的问题
第一种方式启动帧动画:(在Activity启动时会自动运行动画)AnimationDrawable ad;ImageView iv = (ImageView) findViewById(R.id.animation_view);iv.setBackgroundResource(R.drawable.animation);ad = (AnimationDrawable) iv.g
2012-07-04 11:02:05 9435
原创 RadioGroup动态添加RadioButton,并且获得事件
由于有许多的RadioButton是动态的,不是固定的一些,所以需要在代码中,动态的添加到RadioGroup中,下面是我的实现方法。1、添加RadioButton到RadioGroup中RadioGroup group;for(int i=0; i<10; i++){ RadioButton tempButton = new RadioButton(this);
2012-06-25 19:21:54 36424 10
原创 通过Bundle传递Map类型数据
可能通过其他更好的方法可以传递,先记录我知道的这个方法吧。大家指正和帮忙改进。大家知道Bundle对象只能传递一些基本类型和字符串之类的,不能直接传入Map类型的数据,所以就暂时在情急之下想了一个复杂的方法,虽然不好,但有效。但是只能传递参数都为基本类型或者String类型的。Map map;Bundle bundle = new Bundle();Set ke
2012-06-25 16:11:45 14795 1
原创 ListView添加删除FooterView
在开发项目中,想要使异步或分页加载更好看一些,可以在ListView加上HeaderView或者footerView。1、生成一个FooterView在例子中,只是实现了一个进度条,右侧一个提示文本,所以可以简单写一个布局,然后通过LayoutInflater生成一个View。2、在ListView.setAdapter()方法之前调用ListView.addFoote
2012-06-25 16:01:56 18907 1
原创 有关GPS的一些记录点
做了一些有关GPS的东西,需要记录的如下几点:1、判断GPS是否是打开状态 public boolean isGpsOn() { LocationManager alm = (LocationManager)getSystemService(Context.LOCATION_SERVICE); if( alm.isProviderEna
2012-06-25 15:41:59 1506
原创 Android实现点击两次返回键退出
正好在网上看到了一个,研究了一下,保存下来吧。第一步,定义一个变量,用于标识是否退出boolean isExit;第二步,重写Activity中onKeyDown方法@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.K
2012-06-19 16:38:44 25652 17
转载 Android播放GIF动画
转载自:http://mobile.51cto.com/android-224521.htm本文将为讲解Android中Gif图片播放的教程。Android 中是不支持直接使用Gif 图片关联播放帧动画,如下动画在Android 中是无法播放的:Android 提供了另外一种解决的办法,就是使用AnimationDrawable 这一函数使其支持逐帧播放,但是如何把gif 图片打散开来
2012-05-31 11:10:43 1109
原创 Eclipse导入第三方包进入工程的正确方法
正确的方法如下:1,右键工程, Build path, java build path,2,选择libraries在右边的按钮中点击“Add Library” 3,选择“User library”,点击“下一步” 4,点击“User librarys”按钮在出现的界面中点击“New..”按钮 在弹出的界面中随便起一个名字,点击“确定” 5,点击“Add jars”按钮选
2012-05-22 17:31:08 5458 2
转载 Eclipse中修改SVN用户名和密码方法
由于在svn 的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法。 解决方案: 在Eclipse 使用SVN 的过程中大多数人往往习惯把访问SVN 的用户名密码自动保存起来以便下次自动使用,不要再次手工输入,但是有些时候需要变更密码或者用户名,这时候怎么办?在网上查找后发现如下方法: 1. 查看你的Eclipse
2012-05-22 10:09:27 168516 25
原创 通过Handler实现先显示进度条,后台进行数据处理,处理结束后取消进度条
自己对Handler使用还不熟练,想写一个小程序,在指定的时间周期打印指定的次数的LOG信息。记录下自己咨询到的一些方法,方便以后来查。初步想法是用Handler,先发送一个开始的消息,显示进度条,然后发送打印log的消息,通过一个全局变量count来判断是否达到了次数,如果没达到,则在固定的delay时间再发送一个打印log的信息,如果达到了,则把进度条取消。在OnC
2012-05-16 14:45:40 3692
原创 Android网络编程—同时上传参数和文件到服务器
毕业两年了,也工作两年了,但是由于具体的工作内容原因,真正去按照老大的要求去写一个程序,还是第一次。这次就遇到了一个问题,从来没有接触过的Android网络编程,需求是按照指定的三种方法,以POST方法,分别用HTTP和Socket上传一个文件到服务器。指定的三种方法为:第一种:形如 "http://host:port/xxx/xxx/xxx/param?param1=xxx&
2012-05-16 11:26:43 16183 3
转载 Android保持屏幕常亮
保持屏幕常亮的两种方法:我们大家在用手机的时候,会遇到这样的一个问题,就是想让我们的手机屏幕一直亮着怎么办。大家会想到的是,在手机设置里有一个不省电模式,选择这个就可以了,但是我们要在代码中是怎么样办那,有两种方法就可以解决这个问题。第一种方法:大家想一想,我们在android里那个地方老是常定义权限呀,有了这个提示,大家就会想到是哪个文件了吧,AndroidManif
2012-05-16 11:25:10 71050 5
原创 Service初步
刚刚开始学Service,简短的写一点有关创建和进行数据交互的东西,以便自己以后学起来方便。下面的这个小程序简单的描述了如何进行访问者和服务之间的交互,界面只有一个按钮,点击之后,会以Toast的形式弹出一个数值,表示当前运行在服务里的值(该值每半秒加1)。步骤开始:第一步:创建一个Servicepublic class ServiceTest extends
2012-05-10 14:49:17 798 1
翻译 一点关于Android事件处理的知识
Android中事件处理需要三个很重要的元素:事件源(Event Source):事件发生的场所,通常就是组件等;事件(Event):具体特定的事情,一次用户的操作,例如点击,滑动等;事件监听器(Listener):监听一类事件,并对该事件的触发做出一些处理。①:例如一个Button组件,我们可以设置一个onClickListener,用来监听用户对该Button的点击。
2012-05-07 15:38:03 855 1
原创 发布Notification报错的问题
自己学习Notification的时候,写了一个练习,发布一个Notification。但是在运行时候报了一个错误:04-28 08:18:36.766: E/AndroidRuntime(683): FATAL EXCEPTION: main04-28 08:18:36.766: E/AndroidRuntime(683): java.lang.IllegalArgumentExce
2012-04-28 16:49:46 14518 8
转载 TabHost运行时报错的问题
问题1. 运行Activity的时候出现Your content must have a TabHost whose id attribute is 'android.R.id.tabhost'添加Layout的时候,xml跟元素选择TabHost, 但是ADT没有添加id属性, 运行的时候,会提示Your content must have a TabHost whose id attr
2012-04-27 14:25:22 988
Android Application fundamental中文版
2012-04-28
SmartMouse(PC端+Android端)
2012-11-19
用Protocol Buffer实现的学生信息Demo
2012-10-16
策略模式的实现
2012-10-08
8pen输入法
2012-10-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人