随笔分类 -  Android

摘要:manifest 中添加权限: "com.android.launcher.permission.READ_SETTINGS"/> "com.android.launcher.permission.INSTALL_SHORTCUT"/> 在点击快捷方式对应的那个activity添加属性: "android.intent.action.MAIN" /> "android.intent.category.LAUNCHER" /> "android.intent.action.CREAT 阅读全文
posted @ 2013-05-31 13:03 crane13 阅读(141) 评论(0) 推荐(0)
摘要:在Android中编写过程序的开发人员都知道。在Activity、Service等组件之间传递数据(尤其是复杂类型的数据)很不方便。一般可以使用Intent来传递可序列化或简单类型的数据。看下面的代码。 Intent intent = new Intent( this , Test. class );intent.putExtra( " param1 " , " data1 " );intent.putExtra( " intParam1 " , 20 );startActivity(intent); 这样就ok了。在当前Activi 阅读全文
posted @ 2013-05-31 13:03 crane13 阅读(278) 评论(0) 推荐(0)
摘要:InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);//得到InputMethodManager的实例if (imm.isActive()) {//如果开启imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT,InputMethodManager.HIDE_NOT_ALWAYS);//关闭软键盘,开启方法相同,这个方法是切换开启与关闭状态的}-----------------------------------. 阅读全文
posted @ 2013-05-31 13:03 crane13 阅读(204) 评论(0) 推荐(0)
摘要:android的网络编程分为2种:基于socket的,和基于http协议的。基于socket的用法 服务器端: 先启动一个服务器端的socket ServerSocket svr = new ServerSocket(8989); 开始侦听请求 Socket s = svr.accept(); 取得输入和输出 DataInputStream dis = new DataInputStream(s.getInputStream()); DataOutputStream dos = new DataOutputStream(... 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(127) 评论(0) 推荐(0)
摘要:网上淘来的,收藏一下!android打包apk的时候一般都会混淆,而在eclipse中常使用的是proguard来混淆。有很多时候引用了第三方包的时候会导致打包不成功,或者打包成功不能运行的情况。首先看看正常的proguard.cfg文件里面可以怎么写:简单的android系统,没有第三方包-injarsbin/classes-outjarsbin/classes-processed.jar-libraryjars/usr/local/java/android-sdk/platforms/android-9/android.jar-dontpreverify-repackageclasse.. 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(598) 评论(0) 推荐(0)
摘要:Android中电池信息(Battery information)的取得就是写一个BroadcastReceiver接受广播信息即可。在BroadcastReceiver的onReceive()事件,接收到的Intent.ACTION_BATTERY_CHANGED,包括下面的信息。“status”(int类型)…状态,定义值是BatteryManager.BATTERY_STATUS_XXX。“health”(int类型)…健康,定义值是BatteryManager.BATTERY_HEALTH_XXX。“present”(boolean类型)“level”(int类型)…电池剩余容量“s. 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(742) 评论(0) 推荐(0)
摘要:xml文件中使用include:接下来在main.xml文件中将其include进来,如下Java代码 不管include几次,都只相当于include一次。 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(299) 评论(0) 推荐(0)
摘要:Eclipse 格式化代码块快捷键:Ctrl+Shift+F但对于XML文件来说有时格式化后,一个控件的配置属性全都挤在一行,阅读和修改起来都很不方便。而我们希望最佳的格式化效果如下,控件的每个属性配置占一行方便阅读修改,没有子元素的控件直接使用/> 关闭: 为了达到上述的格式化效果,需要修改Eclipse的一些配置及进行一些额外的操作:1)修改Eclipse的XML格式化配置 这一步的配置是使格式化的效果为控件的每个属性配置占一行。进入 Window/Preferences,展开到 XML/XML Files/Editor,勾选 “Split multiple attributes e 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(437) 评论(0) 推荐(0)
摘要:#FFFFFF#FFFFF0#FFFFE0#FFFF00#FFFAFA#FFFAF0#FFFACD#FFF8DC#FFF5EE#FFF0F5#FFEFD5#FFEBCD#FFE4E1#FFE4C4#FFE4B5#FFDEAD#FFDAB9#FFD700#FFC0CB#FFB6C1#FFA500#FFA07A#FF8C00#FF7F50#FF69B4#FF6347#FF4500#FF1493#FF00FF#FF00FF#FF0000#FDF5E6#FAFAD2#FAF0E6#FAEBD7#FA8072#F8F8FF#F5FFFA#F5F5F5#F5F5DC#F5DEB3#F4A460#F0FFF 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(96) 评论(0) 推荐(0)
摘要:private boolean isZh() {Locale locale =getResources().getConfiguration().locale;String language = locale.getLanguage();if (language.endsWith("zh"))return true;elsereturn false; }其中languag为语言码:zh:汉语en:英语。。。。 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(396) 评论(0) 推荐(0)
摘要:一般的View截屏实现代码如下:View view =activity.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmap bitmap= view.getDrawingCache();但对于SurfaceView来说,这样截屏就会痴线黑屏!百度google了一番,原来SurfaceView的实现原理和一般的View不同。SurfaceView通常有两个buffer,一个frontbuffer,一个back buffer。而back buffer就是Canva. 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(786) 评论(0) 推荐(0)
摘要:原来使用Activity.overridePendingTransition来自定义Activity的进入动画。现在发现用Theme和Style也可以实现。具体是这样子的:在AndroidManifest里面,对于application和activity标签可以定义theme属性。如果对Application定义了某一个属性,那么会对所有的activity产生影响。然后在values/themes.xml中 在values/styles.xml中这样就可以了,至于anim中的动画,就自己定义啦,这个和普通的animation是一样的,如果不知道的话,请参见http://developer.a. 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(281) 评论(0) 推荐(0)
摘要:重写finish()方法:@Overridepublic voidfinish() {//super.finish();moveTaskToBack(true);//设置该activity永不过期,即不执行onDestroy()}调用moveTaskToBack(true),这样只有在第一次启动的时候会执行onCreate()。以后(只要进程不死掉)都不会执行onCreate() 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(1057) 评论(0) 推荐(0)
摘要:public static boolean checkConnected(Context context) { NetworkInfoinfo = ((ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE)).getActiveNetworkInfo(); return (info!= null) && (info.isConnected()); }返回ture,则网络已开、可用! 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(107) 评论(0) 推荐(0)
摘要:有时在view切换时,需要恢复listView之前滚动到的位置,常用的三种方法如下:1、记录listView滚动到的位置的坐标,然后利用listView.scrollTo精确的进行恢复listView.setOnScrollListener(new OnScrollListener() {@Override public voidonScrollStateChanged(AbsListView view, int scrollState) {if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) { if(currentMenuInfo!= 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(182) 评论(0) 推荐(0)
摘要:在android的sdk 安装目录data\res\values\themes.xml 里系统定义好的主题,可以直接使用,在AndroidManifest.xml中定义。如果整个工程用一个主题就在 application 标签中定义。如果在单个activety中用不同主题, 如果不小心删除了工程文件可以这样找回来 在工程目录,右键,有个Restore fromLocal History,选择要回复的文件。下面是从网上找到的主题,可以自己去themes.xml中看。下面的前三个之外直接复制就会出错。@是说明系统已经定义过的,@android:style/是必须带上的。?android:them. 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(250) 评论(0) 推荐(0)
摘要:使用AnimationDrawable类的API.,可以简单通过XML文件列出动画中的所有帧,这种类别动画的XML文件放入工程中的res/anim目录在XML文件包含一个根节点元素和好几个子节点来定义每帧。一个资源分别定义了帧的名字与帧的持续时间。,下面为范例:这个动画播放三个帧动画,通过设置android:oneshot属性为true,它将会在最后一帧停下来,如果设置为false这个动画将循环播放。这个文件保存到工程目录res/anim目录下为rocket_thrust.xml,你也可以添加一个背景图片到视图中,然后开始播放。下面为范例:AnimationDrawable rocketAni 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(839) 评论(0) 推荐(0)
摘要:为了引入这个概率 首先从需求说起 即:现有某Activity专门用于手机属性设置 那么应该如何做呢?根据已学知识 很快一个念头闪过 即:Activity + Preference 组合 前者用于界面构建后者用于设置数据存放 其实 这是正确的 但是 这会比较繁琐 因为 每个设置选项都要建立与其对应的Preference所以 现在有更好的选择了 那就是本文的主角:PreferenceActivity从名字应该可以看出 其实 Activity 与 Perference 的混合物还是从需求说起 常见属性设定 有哪几种方式:1. CheckBox 用于 确定/取消某项功能如:是否静音对应于:Check. 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(207) 评论(0) 推荐(0)
摘要:Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A。在B中如何关闭整个Android应用程序呢?以下几种比较简单方法可以实现!1. Dalvik VM的本地方法 android.os.Process.killProcess(android.os.Process.myPid()) //获取PIDSystem.exit(0);//常规java、c#的标准退出法,返回值为0代表正常退出2. 任务管理器方法首先要说明该方法运行在Android 1.5 APILevel为3以上才可以,同时需要权限ActivityManager a 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(665) 评论(0) 推荐(0)
摘要:public static Integer[] getRandomId(int n) {Integer[] arryRandom = new Integer[n];for (int i = 0; i < n; i++)arryRandom[i] = i;List list = Arrays.asList(arryRandom);Collections.shuffle(list);return arryRandom; } 阅读全文
posted @ 2013-05-31 13:02 crane13 阅读(162) 评论(0) 推荐(0)