![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android基础
knxw0001
人不自辱,谁能辱之
展开
-
发一个加载图片的函数,巨省内存,有内存溢出错误的同学,用它吧。
private static Bitmap readBitMap(Context context, int resId){ BitmapFactory.Options opt = new BitmapFactory.Options(); opt.inPreferredConfig = Bitmap.Config.RGB_565; opt.inPurgeable =原创 2011-10-25 20:37:56 · 901 阅读 · 0 评论 -
android环境搭建
1.下载安装jdk,要求jdk版本1.5以上,这里用jdk1.6的,详见http://blog.csdn.net/knxw0001/article/details/69199332.下载Eclipse,建议用Eclipse3.5的,从官网下载:http://www.eclipse.org/downloads/download.php?file=/eclipse/downlo原创 2011-10-30 23:21:15 · 765 阅读 · 0 评论 -
jdk的下载与安装
1.jdk与jre的区别jdk:Software Development Kit(软件开发包)jre:java Runtime Environment(java运行时环境)2.下载jdk,从官网下载:http://download.oracle.com/otn-pub/java/jdk/7u1-b08/jdk-7u1-windows-i586.exe原创 2011-10-31 00:02:00 · 946 阅读 · 0 评论 -
一个简单的判断任意整数是几位数的算法
if (n==0) { return 0; } if (n/10==0) { return 1; } if (n/100 == 0) { return 2; } if (n/1000 == 0) { return 3; } return 4;原创 2011-10-25 14:54:48 · 3081 阅读 · 0 评论 -
android的屏幕适配
参考文章:http://blog.sina.com.cn/s/blog_74c22b210100tn3o.htmlhttp://www.androidlearner.net/android-multi-screen-about.htmlhttp://www.2cto.com/kf/201109/104910.htmlhttp://blog.csdn.net/lnb333原创 2013-04-22 13:03:19 · 6934 阅读 · 1 评论 -
android线性渐变
布局实现:1. 在res中建立drawable文件夹。2. 在drawable文件夹中建立shape.xml。3. shape.xml的代码如下:<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > <gradient原创 2013-04-22 15:07:40 · 51921 阅读 · 1 评论 -
android ---spannableStringBuilder(一)
EditText: 通常用于显示文字,但有时候也需要在文字中夹杂一些图片,比如QQ中就可以使用表情图片,又比如需要的文字高亮显示等等,如何在android中也做到这样呢? 记得android中有个android.text包,这里提供了对文本的强大的处理功能。 添加图片主要用SpannableString和ImageSpan类: Drawable drawable =原创 2013-04-22 17:02:46 · 896 阅读 · 0 评论 -
android的color值
#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转载 2013-04-23 11:15:23 · 1030 阅读 · 0 评论 -
Android TextView丰富多彩的字体样式代码
import java.io.IOException; import org.xmlpull.v1.XmlPullParserException; import android.app.Activity; import android.content.res.ColorStateList; import android.content.res.XmlResourceParser;转载 2013-04-23 11:18:12 · 8561 阅读 · 0 评论 -
工厂设计模式
1. 配置文件config.propertiesname=cn.mchina.client7.ui.HomeActivity12. 工具类homefactorypublic class HomeFactory { // 单例对外提供实例 public static HomeFactory homeFactory; private HomeFactory(){}; publ原创 2013-04-27 16:43:31 · 633 阅读 · 0 评论 -
关于在Eclipse下使用TODO列表
“TODO”任务链接创建 Eclipse可以提醒您仍需执行的任务。许多开发人员在代码中添加TODO注释来提醒他们还有特定的任务要完成,或者特定的情况要处理。Eclipse又一次利用它对Java结构的知识找到任何以TODO开头的注释,并将它添加到一个特殊的Tasks视图(打开Window Menu > Show View > Other > Basic > Tasks就可看到)。这样,Ec转载 2013-05-03 13:02:52 · 1482 阅读 · 0 评论 -
Intent的FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT
Activity的两种启动模式:FLAG_ACTIVITY_CLEAR_TOP和FLAG_ACTIVITY_REORDER_TO_FRONT 1. 如果已经启动了四个Activity:A,B,C和D。在D Activity里,我们要跳到B Activity,同时希望C finish掉,可以在startActivity(intent)里的intent里添加flags标记,如下所示:转载 2013-05-06 17:58:52 · 2076 阅读 · 0 评论 -
Android APK反编译详解(附图)
这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。一、反编译Apk得到Java源代码首先要下载两个工具:dex2jar和JD-GUI前者是将apk中的cla转载 2013-05-06 16:54:29 · 699 阅读 · 0 评论 -
Android如何防止apk程序被反编译
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难转载 2013-05-06 16:58:56 · 741 阅读 · 0 评论 -
android adb常用指令
Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。可以通过下列几种方法加入adb:在设备上运行shell命令通过端口转发来管理模拟器或设备从模拟器或设备上拷贝来或拷贝走文件下面对adb进行了介绍并描述了常见的使用.Contents概要发出adb命令查询模拟器/设备实例给特定的模拟器/设备实例发送命令安装软件转发端口转载 2013-05-22 09:46:51 · 729 阅读 · 0 评论 -
内存溢出和关于堆栈设置
大家都知道Android的上层应用是基于 Dalvik Virtual Machine的。Dalvik VM的特点是基于寄存器,相比SUN的JVM(基于堆栈,没有寄存器)来说,理论上完成同样的功能需要的指令条数少,但是指令集复杂。到了Android2.2,Dalvik终于实现了JIT(Just In Time)功能,前进了一大步。 近期我们遇到OutOfMemory的错误,通常是堆内存转载 2013-05-21 15:39:34 · 1785 阅读 · 0 评论 -
Android中APK安装过程及原理解析
应用安装是智能机的主要特点,即用户可以把各种应用(如游戏等)安装到手机上,并可以对其进行卸载等管理操作。APK是Android Package的缩写,即Android安装包。APK是类似Symbian Sis或Sisx的文件格式。通过将APK文件直接传到Android模拟器或Android手机中执行即可安装。Android应用安装有如下四种方式1.系统应用安装――开机时完成,没有安转载 2013-05-08 10:26:52 · 1342 阅读 · 0 评论 -
android 设置系统屏幕亮度
/** * 获得当前屏幕亮度的模式 * SCREEN_BRIGHTNESS_MODE_AUTOMATIC=1 为自动调节屏幕亮度 * SCREEN_BRIGHTNESS_MODE_MANUAL=0 为手动调节屏幕亮度 */ private int getScreenMode(){ int screenMode=0; try{ scre转载 2013-05-22 13:04:44 · 3698 阅读 · 0 评论 -
Android下ListView上下滑动背景变黑
手指在ListView上下滚动时,ListViewItem背景变黑,因为在滚动的时候为了提升性能做了优化,为提高滚动的性能,Android 框架在ListView中引入CacheColorHint属性。如果该值为非0,则说明该ListView绘制在单色不透明的背景上,在默认情况下该值 为#191919,也就是黑色主题中的黑色背景颜色值,这样当ListView滚动的时候就会使用该值来绘制ListVi转载 2013-05-22 15:56:06 · 3204 阅读 · 1 评论 -
能够兼容ViewPager的ScrollView
/** * 能够兼容ViewPager的ScrollView * @Description: 解决了ViewPager在ScrollView中的滑动反弹问题 */public class ScrollViewExtend extends ScrollView { // 滑动距离及坐标 private float xDistance, yDistance, xLast, yL转载 2013-05-24 16:22:04 · 1162 阅读 · 0 评论 -
如何判断两个时间是否是同一天
long loginTime = PrefHelper.getLoginTime(UserCenterActivity.this); long timeMillis = System.currentTimeMillis(); SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); String sp_time原创 2013-05-13 15:52:36 · 16152 阅读 · 0 评论 -
自定义toast
tv = new TextView(getApplicationContext()); // 这个context的生命周期长 toast = new Toast(getApplicationContext()); // 高亮显示 SpannableString ss = new SpannableString("我是谁"); ss.setSpan(new ForegroundC原创 2013-05-14 13:49:26 · 704 阅读 · 0 评论 -
android menu的使用
@Override public boolean onCreateOptionsMenu(Menu menu) { menu.add("切换"); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { Intent i = new Intent(HomeActivity1.原创 2013-05-31 15:32:10 · 555 阅读 · 0 评论 -
android 监听 webview 滚动
getScrollY()方法返回的是当前可见区域的顶端距整个页面顶端的距离,也就是当前内容滚动的距离。getHeight()或者getBottom()方法都返回当前webview这个容器的高度 getContentHeight返回的是整个html的高度,但并不等同于当前整个页面的高度,因为webview有缩放功能,所以当前整个页面的高度实际上应该是原始html的高度再乘上缩放比例。因转载 2013-06-09 16:20:21 · 6708 阅读 · 0 评论 -
Android中的“再按一次返回键退出程序”实现
用户退出应用前给出一个提示是很有必要的,因为可能是用户并不真的想退出,而只是一不小心按下了返回键,大部分应用的做法是在应用退出去前给出一个Dialog,我觉得这样不太友好,用户还得移动手指去按dialog中的按钮。个人觉得“再按一次返回键退出程序”是best practice,实现也很简单,直接上代码: private long exitTime = 0;@Overri转载 2013-06-04 18:13:55 · 679 阅读 · 0 评论 -
eclipse打印输出流到文件
1. 写输出流2. 利用安卓的linux命令 1:先启动模拟器 2:进来命令行cmd---> adb shell (注意看是否配置了环境变量) ---->进入有读写权限的目录----->logcat -f mylog.txt原创 2013-06-14 13:58:05 · 1812 阅读 · 0 评论 -
jsoup解析html
网址:http://jsoup.org/原创 2013-06-14 16:00:34 · 629 阅读 · 0 评论 -
android清单文件设置是否可以断点调试
<application android:name="cn.mchina.mbrowser.MbrowserApplication" android:debuggable="true">原创 2013-06-07 13:50:13 · 973 阅读 · 0 评论 -
ActionBar学习
---------------------------------1.部分----------------------------------------------------------------关于那个问题:是关于如何生成如下图所示之ActionBar效果: 其实就在官网上就有答案,自己疏忽再加上资料繁多。寻了许久,经过指点。终于找到:转载 2013-06-07 16:45:48 · 918 阅读 · 0 评论 -
EditText初始不弹出软键盘,只有光标显示,点击再弹出
刚进来的时候,不弹出键盘,EditText 有个光标上面闪,证明是可编辑的,这个还是符合用户习惯的,从用户体验的角度上讲,还保留光标的闪动是好的。解决方法1:(已经试过,证明可以)在activity属性中设置android:windowSoftInputMode="stateHidden"解决方法2:InputMethodManager inputMethodManag原创 2013-06-08 10:13:35 · 27510 阅读 · 6 评论 -
dialog弹出时,点击dialog之外的地方时,dialog不消失。
1. dialog时:dialog.setCanceledOnTouchOutside(false);2. activity的dialog形式时,activity中设置setFinishOnTouchOutside(false)原创 2013-06-08 10:16:45 · 15787 阅读 · 1 评论 -
eclipse中设置@author为自己的名字
菜单栏window - preferences - java - code style - code templates右边展开comments,选types,然后edit默认应该有行@author ${user},把${user}改成自己名字就行了原创 2013-06-08 15:15:46 · 2056 阅读 · 0 评论 -
fragement的生命周期
管理fragment的生命周期有些像管理activity的生命周期。Fragment可以生存在三种状态:Resumed:Fragment在一个运行中的activity中并且可见。Paused:另一个activity处于最顶层,但是fragment所在的activity并没有被完全覆盖(顶层的activity是半透明的或不占据整个屏幕)。Stoped:转载 2013-07-08 17:06:02 · 1330 阅读 · 0 评论 -
局部变量表与JAVA内存回收
局部变量表与JAVA内存回收以下为书摘。123456public static void main(String[] args){ { byte[] placeholder = new byte[64*1024*1024]; } system.gc();}转载 2013-06-27 11:18:56 · 3162 阅读 · 0 评论 -
Android批量打包
1.配置JAVA的环境变量 (参考http://jingyan.baidu.com/article/f96699bb8b38e0894e3c1bef.html), 很多Java程序员由于使用Eclipse不配置Java环境变量也能正常运行代码。但是如果想使用Ant命令批量打包本步骤必不可少。2. 下载Ant(这里的Ant不是eclipse和an转载 2013-06-27 14:49:04 · 1850 阅读 · 0 评论 -
httpClient和httpconnection的区别
HttpClient是个开源框架,封装了访问http的请求头,参数,内容体,响应等等, HttpURLConnection是java的标准类,什么都没封装,用起来太原始,不方便HttpClient实际上是对Java提供方法的一些封装,在HttpURLConnection中的输入输出流操作,在这个接口中被统一封装成了HttpPost(HttpGet)和HttpResp转载 2013-06-27 16:27:26 · 2017 阅读 · 0 评论 -
android 完全退出应用程序
android 退出应用程序会调用android.os.Process.killProcess(android.os.Process.myPid())或是System.exit(0),这只是针对第一个Activity(也就是入口的Activity)时生效。如果有A,B,C三个Activity,而想在B 或C 中Activity 退出,调用上面的方法,往往会销毁当前的Activity 返回上转载 2013-06-28 17:03:59 · 621 阅读 · 0 评论 -
button selector 9patch text
button的背景设为selector,selector的图片使用9patch,button的text文字变形或者消失。原因是9patch有自己的padding,所以button中要设置padding属性。设置完就ok了。原创 2013-07-03 17:10:16 · 1446 阅读 · 0 评论 -
傲慢的上校的fragment讲解
Fragment要点Fragment作为Activity界面的一部分组成出现可以在一个Activity中同时出现多个Fragment,并且,一个Fragment亦可在多个Activity中使用。在Activity运行过程中,可以添加、移除或者替换Fragment(add()、remove()、replace())Fragment可以响应自己的输入事件,并且有自己的生命周期,当然,它们的转载 2013-07-04 11:50:16 · 1029 阅读 · 0 评论 -
Android APK反编译详解(附图)
原文链接这段时间在学Android应用开发,在想既然是用Java开发的应该很好反编译从而得到源代码吧,google了一下,确实很简单,以下是我的实践过程。在此郑重声明,贴出来的目的不是为了去破解人家的软件,完全是一种学习的态度,不过好像通过这种方式也可以去汉化一些外国软件。本文Android反编译教程,测试环境:Win7 Ulti转载 2013-07-29 10:17:12 · 660 阅读 · 0 评论