Android专栏
有一些关于android技术方面的博客
沈阳斌子
技术决定未来,过硬的技术源于知识的积累。
展开
-
Java replaceAll用法报错 java.util.regex.PatternSyntaxException
今天开发多次选项的时候,出现字符串的填写替换出现异常情况,baidu解决方案,找到解决方案如下:text.replaceAll(filename, newPicName);filename 中含有正则表达式的特殊字符,正则表达式引擎将其解释为语法错误,改成:text.replace(filename, newPicName);这样就行了,按照普通字符来工作。replaceAll原创 2013-11-07 12:16:20 · 2360 阅读 · 0 评论 -
Android Migrate Android Code
近期在更改程序架构的时候,用引用Library的方式实现程序的共享化过程中发现R.id.xx的文件不能够在 switch cases 中使用看代码提示,如下信息:As of ADT 14, resource fields cannot be used as switch cases. In other words, the constants are not final i原创 2013-11-01 13:53:38 · 3887 阅读 · 0 评论 -
android 判断当前程序是否在前台运行
package cn.testforeground;import java.util.List;import android.os.Bundle;import android.app.Activity;import android.app.ActivityManager;import android.app.ActivityManager.RunningTaskInfo;import原创 2013-10-22 15:29:46 · 2202 阅读 · 0 评论 -
Android获得手机电话号码
/** * * @Description : 获得手机线路1的电话号码 * @Method_Name : getPhoneNumber * @return * @return : String * @Creation Date : 2013-9-30 上午10:33:17 * @version : v1.00原创 2013-09-30 10:36:23 · 1215 阅读 · 0 评论 -
Android中AlertDialog对话框禁止按[返回键]或[搜索键]
AlertDialog.Builder builder = new Builder(this);builder.create().show();这样显示出来的对话框,当用户按返回键或搜索键时,这个对话框也能关闭。怎样才能实现一个类似在windows系统上的对话框,必须点对话框上的按钮后,才能关闭这个对话框。下面是具体代码:AlertDialog.Builde原创 2013-09-29 12:57:03 · 3643 阅读 · 0 评论 -
Android中Adapter的notifyDataSetInvalidated()和notifyDataSetChanged()的区别!
notifyDataSetChanged方法通过一个外部的方法控制如果适配器的内容改变时需要强制调用getView来刷新每个Item的内容。public void notifyDataSetChanged ()该方法内部实现了在每个观察者上面调用onChanged事件。每当发现数据集有改变的情况,或者读取到数据的新状态时,就会调用此方法。public void notify原创 2013-09-27 13:45:54 · 3635 阅读 · 0 评论 -
android 调用webservice 图片上传
最近做项目需要一个拍照后,将图片上传到服务器的功能,并且服务器是cs的webservice写的,通常我们调用webservcie通信都是传递xml或者json格式的字符串。从来没传过图片这样的文件。百度了很多方法,最后使用了从android端用io流读取到要上传的图片,用Base64编码成字节流的字符串,通过调用webservice把该字符串作为参数传到服务器端,服务端解码该字符串,最后保存到相应原创 2013-08-20 13:53:41 · 4024 阅读 · 0 评论 -
Android4.0 虚拟菜单键
今天遇到一个android 4.0系统的手机,安装应用程序时发现手机没有菜单键,但是虚拟菜单键也没有,下面就是解决办法:1.在需要有activity的类中将下面代码在onCreate() 里setContentView()之后加入如下代码即可。即可加在onCreate里调用:getWindow().setFlags(WindowManager.LayoutParams.FLAG_NE原创 2013-08-20 11:49:49 · 2078 阅读 · 0 评论 -
Android-启动模拟器timeout解决方案
最近由于把手机换成了iphone所以开发时使用了模拟器,发现在停止一段时间后,在运行debug程序时,提示模拟器timeout超时,通过寻找方法了解到:[2012-07-26 21:49:54 - h3] Failed to install h3.apk on device 'emulator-5554': timeout[2012-07-26 21:49:54 - h3] Launc原创 2013-07-22 10:19:33 · 3949 阅读 · 0 评论 -
Android模拟器键盘操作,快捷键操作
Home键(小房子键)在键盘上映射的就是home键,这倒是很好记。Menu键用于打开菜单的按键,在键盘上映射的是F2键,PgUp键同样可以。另外,看英文原文的意思,貌似这个键在某些机型上会被设计为左软件(left softkey)Start键这个键在模拟器和G1真机上我都没有找到到底是哪个键。映射的是Shift+F2或PgDn,某些机型会被设计为右软键(right softkey)。原创 2013-07-18 17:47:50 · 2413 阅读 · 0 评论 -
Android获取string.xml的值
在android开发过程中,编写java代码中的常量过一般情况下,我们是定义在string.xml这个文件中。这样修改起来也很方便,而且做国际化也很简单。这个string.xml的值会被R文件映射,所以可以看到R文件全是定义为int类型,就像是一个地址指引一样。获取string.xml文件里面的值有几个不同的地方。1. 在AndroidManifest.xml与la转载 2013-06-17 14:08:07 · 1117 阅读 · 0 评论 -
Android关于音频歌词同步实现思路(一)
最近项目需要用到音频和歌词同步的功能,网上有单一的小功能,比如说单独的读取lrc文件的歌词功能,有MediaPlayer和seekbar的使用。没有结合起来的方法,我已经实现,并且定位和时间点的定位比较准确。今天谈一下,怎么将mediaplayer和seekbar还有lrc文件的歌词显示联系起来的一些思路。首先说一下,MediaPlayer来播放音频,如果用真机开发就没有麻烦,如果用模拟器开发原创 2013-05-30 17:09:42 · 3146 阅读 · 1 评论 -
Android android.os.NetworkOnMainThreadException 异常处理
项目是2.1开发 测试手机是android4.0时候提示 android.os.NetworkOnMainThreadException异常出错误地方是访问网络的webservice有问题在网上找了半天说是用@Overrideprotected void onCreate(Bundle savedInstanceState){// TODO Auto-gener原创 2013-05-13 10:49:18 · 1169 阅读 · 0 评论 -
Android 使用SharedPreferences进行数据存储
Android提供的SharedPreferences类似于Windows程序中常用的ini文件,以Key-Value的形式来保存应用程序的属性设置信息(区分数据类型)。比如,可以用来保存用户上一次的登录信息;可以保存媒体播放程序的音量设置以及上次播放位置等。在使用SharedPreferences时常用的方法包括(方法具体含义参考官方文档):Context.getSharedPref原创 2013-01-11 13:54:09 · 1146 阅读 · 0 评论 -
Anroid 屏蔽android手机上的返回键
拦截activity 的后退键处理@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_BACK){ return true;} return super.onKeyDown(keyCode, event);原创 2013-01-09 10:32:03 · 1649 阅读 · 0 评论 -
Android项目源码混淆问题解决方法
Android项目源码混淆问题解决方法考虑到代码安全,不让自己的劳动成功那么容易被别人盗取,今天忽然有了兴致对Android代码混淆做了浅浅的学习。在此记录下来,也希望能够对学习android的朋友们有所帮助,免得以后多走弯路。由于我的Android项目版本是1.6,谷歌对2.2以上才加入了代码混淆支持。不过低版本也可以进行代码混淆,只是需要自己手工配置。也挺简单的。不过在我配置过程中转载 2012-04-09 15:38:35 · 1963 阅读 · 0 评论 -
Android横屏竖屏切换
1.切换模拟器的横竖屏的方式:快捷键:ctrl+f12如果固定横屏可以在eclipse 里面run dialog->target 里面可以设置.如果是命令行可以使用参数emulator -skin HVGA-L 2.要让程序界面保持一个方向,不随手机方向转动而变化的处理办法: 在AndroidManifest.xml里面配置一下就可以了。加入这一行android:screen转载 2012-03-02 14:15:16 · 1970 阅读 · 0 评论 -
Android ListView的滚动条始终显示并且滚动条样式自定义
滚动条始终显示: android:scrollbarFadeDuration="0" android:fadeScrollbars="false" 滚动条样式自定义:android:scrollbarThumbVertical="@drawable/new_iv_listview_thumb"注明:QQ技术交流群:108614806 感兴趣的加一下。原创 2012-02-27 10:25:59 · 9884 阅读 · 1 评论 -
Android使用尺寸资源 dimens
1.在values文件夹下建立名为dimens.xml的文件,如下: 文本区域 按钮 150px 100px 30mm 10mm #f00 2.在layout文件夹下建立名为test_dimens.xml的文件,如下: <LinearLayout xmlns:android="http:原创 2012-12-07 15:17:30 · 4981 阅读 · 0 评论 -
Android MediaPlayer 常用方法介绍
Android MediaPlayer 常用方法介绍 方法:create(Context context, Uri uri) 解释:静态方法,通过Uri创建一个多媒体播放器。 方法:create(Context context, int resid) 解释:静态方法,通过资源ID创建一个多媒体播放器 方法:create(Context context, Uri ur原创 2012-11-08 14:48:22 · 1051 阅读 · 0 评论 -
Android中解决debug.keystore到期的问题
分享:开发Android或者jee或者其他java应用时,如果eclipse中的项目前有个红叉叉,但是src下有没有任何提示错误但是又不能通过编译的时候如何找到项目工程的错误根源呢?方法如下:打开eclipse的problem视图(如果关闭了可以在window->show view下找到problem视图),然后在视图中就可以看到项目的根源问题何在了,呵呵。言归正传,回到我遇到转载 2012-01-16 11:25:06 · 6958 阅读 · 3 评论 -
Android 获取assets的绝对路径
第一种方法: String path = "file:///android_asset/文件名";第二种方法: InputStream abpath = getClass().getResourceAsStream("/assets/文件名");若要想要转换成String类型String path = new String(InputStrea原创 2011-12-17 09:36:49 · 45521 阅读 · 8 评论 -
SQLiteOpenHelper简介
SQLiteDatabase是Android SDK中操作数据库的核心类之一。使用SQLiteDatabase可以打开数据库,也可以对数据库进行操作。然而为了数据库升级的需要以及使用更方便,往往使用SQLiteOpenHelper的子类来完成创建、打开数据库及各种数据库操作。SQLiteOpenHelper是个抽象类,在该类中有如下两个抽象方法,SQLiteOpenHelper的子类必须实现这原创 2011-12-14 15:50:40 · 2661 阅读 · 0 评论 -
android 解决wifi断线不稳定的问题-终极办法
android的wifi估计大家都用的很不爽,大概就是表现为上一会儿就无法连接了(虽然图标显示还是正常连接的)ping 也是经常断线。简直用wifi来上网就是一种折磨。话说到处找答案,什么wifi lock 之类的软件根本不顶用。经过艰苦的测试,终于找到了一个保持wifi稳定的方法。{:1_109:}【以下内容为原创,安卓网首发,如果转载请注明出处】------------原创 2012-01-06 13:31:09 · 19640 阅读 · 13 评论 -
Android TextView 显示文字阴影效果
TextView控件有一个方法是控制阴影的加入的:mTextView.setShadowLayer(10F, 11F,5F, Color.YELLOW); 第一个参数为模糊半径,越大越模糊。 第二个参数是阴影离开文字的x横向距离。 第三个参数是阴影离开文字的Y横向距离。 第四个参数是阴影颜色。 第二种方式是将TextView控件的style单独写成一个.xml文件进行添加。res/原创 2012-02-23 10:11:01 · 6034 阅读 · 0 评论 -
Android设置Gridview中的内容不滚动,然后控件中的内容随便添加的效果。
public class V_AlertAmuseAppsGrid extends GridView { public V_AlertAmuseAppsGrid(android.content.Context context, android.util.AttributeSet attrs) { super(context, attrs); } /** * 设置不滚原创 2012-02-22 14:47:16 · 4873 阅读 · 1 评论 -
Android官方推荐全局对象传递数据
虽然使用静态变量可以传递任何类型的数据,但官方并不建议这样做。如果在类中有大量使用静态变量(尤其是使用很占资源的变量,例如,Bitmap对象)可能会造成内存溢出异常,而且还可能因为静态变量在很多类中出现而造成代码难以维护和混乱,因此,用全局对象可以进行传递,这种方式可以完全取代静态变量。Android中的全局对象作用域:除非将Android程序彻底清除出内存,否则全局对象将一直可以访问。1原创 2012-03-26 21:47:07 · 3156 阅读 · 0 评论 -
Android静默安装
研究这个问题,用了很长时间,所以各位亲我将文档放在资源上了,需要请下载。点击此处----版权所有,如需转载,注明出处,谢谢合作。沈阳--斌子。注明:QQ技术交流群:108614806 感兴趣的加一下。原创 2012-05-02 10:07:26 · 1510 阅读 · 0 评论 -
Android安装程序时显示timeout的解决办法
启动android模拟器时候如果提示:Failed to install on device ‘emulator-5554′: timeout这是可能因为卡的原因导致启动超时,解决办法:eclipse -> window -> Preferences -> Android -> DDMS -> ADB connection time out(ms).把这个时间设置的长一些,默认是原创 2012-05-12 10:56:48 · 4674 阅读 · 2 评论