Android学习笔记
文章平均质量分 58
Cookie-kimi
这个作者很懒,什么都没留下…
展开
-
startActivityForResult、setResult
一、如果想在Activity中得到新打开Activity 关闭后返回的数据,需要使用系统提供的startActivityForResult(Intent intent, int requestCode)方法打开新的Activity,新的Activity 关闭后会向前面的Activity传回数据,为了得到传回的数据,必须在前面的Activity中重写onActivityResult(int requ转载 2014-11-24 16:10:16 · 383 阅读 · 0 评论 -
android开发者最爱的50个免费代码
转原文:android开发者最爱的50个免费代码注:本人还没验证过,现在只是收藏下 android-pulltorefresh下拉刷新【源代码】 http://down.51cto.com/data/315158 Android+2.0游戏开发实战宝典-全部源代码【源代码】 http://down.51cto.com/data/295685 Android4.0 API源代转载 2015-02-04 12:03:54 · 646 阅读 · 0 评论 -
Android中dip、dp、sp、pt和px的区别
1、概述 过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。Android应用开发支持不同的度量单位。2、度量单位含义转载 2014-12-12 11:15:24 · 355 阅读 · 0 评论 -
Fragment笔记整理
Fragment笔记整理前言一直在用Fragment,但是没有系统的整理过,Google了一下相关文章,看到了几篇,将几篇还不错的文章重点整理了下,很多是直接Copy的,只为做个笔记,以后翻来看比较方便,建议大家看一下下面几篇,相信会有一些收获的。Android Fragment 真正的完全解析(上)http://blog.csdn.net/lmj6235657转载 2015-02-06 16:03:14 · 675 阅读 · 0 评论 -
开源项目PullToRefresh详解
开源项地址:https://github.com/chrisbanes/Android-PullToRefresh下拉刷新这个功能我们都比较常见了,今天介绍的就是这个功能的实现。我将按照这个开源库的范例来一点一点介绍,今天是介绍比较常见的PullToRefreshListView,是让listView有下拉刷新功能。1.下载项目包,将library包导入即可,其他的包暂时不用转载 2015-02-05 17:41:42 · 477 阅读 · 0 评论 -
Timestamp和String的相互转换
Timestamp转化为String:SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//定义格式,不显示毫秒Timestamp now = new Timestamp(System.currentTimeMillis());//获取系统当前时间String str = df.format(转载 2014-12-31 11:38:50 · 1989 阅读 · 0 评论 -
ListView的动态刷新问题——用notifyDataSetChanged没作用
也许很多开发的朋友,尤其是Android初学者,在动态刷新ListView时,使用notifyDataSetChanged并没有起到作用。有时会被困扰得很痛苦。其实,在使用notifyDataSetChanged过程中,还是有细节需要注意的。举个例子:我的ListView使用的数据源是来自ArrayList。通常我们的做法是创建一个已经有我们想要提供给ListView的数据的Arr转载 2015-01-19 15:03:33 · 396 阅读 · 0 评论 -
SQLite使用
1.创建表,以及更新表结构。public class MySQLiteOpenHelper extends SQLiteOpenHelper{ public MySQLiteOpenHelper(Context context) { super(context, "mengface.db", null, 1);//最后一个参数是数据库版本号 } @Override public v原创 2015-01-05 22:11:39 · 429 阅读 · 0 评论 -
自定义视图
一.自定义视图属性。public class ViewRect extends View{ /** * 资源解析器调用这个方法 * @param context * @param attrs */ public ViewRect(Context context, AttributeSet attrs) { super(context, attrs); Typed原创 2015-03-03 14:56:04 · 367 阅读 · 0 评论 -
百度地图定位
由于谷歌被天朝封杀所以谷歌地图定位不能用建议使用百度地图设置AndroidManifest.xml在application标签中声明service组件,每个app拥有自己单独的定位serviceservice android:name="com.baidu.location.f" android:enabled="true" android:process=":原创 2014-12-22 11:54:58 · 627 阅读 · 0 评论 -
popupwindow使用(弹出窗口)
private Handler myHandler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: MfsHumidityTest mfsHumidityTest= (MfsHumidityTest)msg.obj;原创 2014-12-04 16:05:16 · 475 阅读 · 0 评论 -
Android应用开发中半透明效果实现方案
[html] view plaincopyprint?span style="font-size:18px;">下面是自定义Activity半透明的效果例子:span> res/values/styles.xml[html] view plaincopyprint?span style="转载 2014-12-04 16:54:36 · 443 阅读 · 0 评论 -
FragmentTabHost
mFragmentTabHost.setOnTabChangedListener(new OnTabChangeListener() { @Override public void onTabChanged(String tabId) { // TODO Auto-generated method stub Log.d("tab", tabId); }原创 2014-11-24 16:37:15 · 446 阅读 · 0 评论 -
Drawable和Bitmap转换
一、Bitmap转Drawable Bitmap bm=xxx; //xxx根据你的情况获取 BitmapDrawable bd=new BitmapDrawable(bm); 因为BtimapDrawable是Drawable的子类,最终直接使用bd对象即可。 二、 Drawable转Bitmap 转成Bitmap对象后,可以将Drawable对象通过An转载 2014-11-25 16:06:04 · 356 阅读 · 0 评论 -
如何在代码中为组件设置dip,sp值
public static float applyDimension(int unit, float value, DisplayMetrics metrics) { switch (unit) { case COMPLEX_UNIT_PX: return value; cas转载 2015-01-07 11:19:42 · 486 阅读 · 0 评论 -
android clipPath切割画布
[java] view plaincopypublic class PictureTestActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState){ super.onCreat转载 2014-12-02 16:27:18 · 677 阅读 · 0 评论 -
clipPath 使用硬件加速的注意事项 会造成显示异常
为提高app的整体性能,在manifest文件中配置的时候,有可能会启动硬件加速,如下Xml代码 android:hardwareAccelerated="true" 配置后,发现设备在4.0.4与4.0.3这样的版本上使用图片剪裁功能的时候会crash,捕获到的异常信息如下Java代码 java.lang.Uns转载 2014-12-03 14:13:27 · 1399 阅读 · 0 评论 -
POPUPWINDOW 按返回键和按空白地方不消失的解决办法
popupWindow = new PopupWindow(view, LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT); 2 popupWindow.setFocusable(true); 3 4 //下面2行是解决点击空白地方不消失的问题 5 popupWindow.setOutsideTouchable(true); 6转载 2014-12-04 10:28:12 · 3447 阅读 · 0 评论 -
android事件解析
1.Ontouch()事件判断手指按下、抬起、移动等事件。onTouch是优先于onClick执行的,并且onTouch执行了两次,一次是ACTION_DOWN,一次是ACTION_UP(你还可能会有多次ACTION_MOVE的执行,如果你手抖了一下)。因此事件传递的顺序是先经过onTouch,再传递到onClick。如果onTouch返回true,则onClick事件不执行,onTo原创 2014-12-16 11:42:17 · 464 阅读 · 0 评论 -
handler与Message使用
private Handler myHandler = new Handler(){ @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: MfsHumidityTest mfsHumidityTest= (MfsHumidityTest)msg.obj;原创 2014-12-04 16:57:49 · 434 阅读 · 0 评论 -
Android 实用工具Hierarchy Viewer实战(UI检视)
在Android的SDK工具包中,有很多十分有用的工具,可以帮助程序员开发和测试Android应用程序,大大提高其工作效率。其中的一款叫Hierachy Viewer的可视化调试工具,可以很方便地在开发者设计,调试和调整界面时,提高用户的开发效率。本文将以一个实际例子讲解如何使用该款工具运用在Android的开发过程中。本文的读者对象为具备初步Android知识的用户。 步骤1 设计界面原创 2015-03-05 10:48:18 · 423 阅读 · 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标记,如下所示:转载 2015-03-16 10:31:06 · 397 阅读 · 0 评论 -
控件容器如何点击后改变背景颜色(如LinearLayout...)
<LinearLayout style="@style/CommonHWWrap" android:gravity="center" android:orientation="horizontal" android:background="@drawable/button_onclick"原创 2015-03-07 11:43:26 · 702 阅读 · 0 评论 -
Jenkins执行window batch
想要在Jenkins打包前对项目做些处理怎么办呢? Jenkins提供了构建步骤,可执行多个任务 如图:比如打包前要对项目文件复制操作 在执行gradle之前加入window batch 如图将C:\Program Files (x86)\Jenkins\workspace\ueee_test\update\build.gradle文件强制复制到ueee_test文件夹内copy /y 表示原创 2016-03-18 14:08:39 · 672 阅读 · 0 评论 -
Jenkins+gradle+SVN+Android 定时自动打包
在开发项目中由于工作的需要,要每天打包测试!打包是个很没技术含量的无聊活,如何用工具代替这个简单枯燥的活呢? 今天介绍个工具Jenkins,它能帮我们完成打包工作。 根据自己的需求勾选,这里我勾选第一个 选择Subversion,Repository URL填上SVN地址 勾选Build periodically 每天晚上1点更新 Build after other projects ar原创 2016-03-18 15:24:19 · 2052 阅读 · 0 评论 -
Android 开发实战经验总结
1.理解抽象,封装变化目前 Android 平台上绝大部分开发都是用着 Java ,而跟 Java 这样一门面向对象的语言打交道,不免要触碰到 抽象 和 封装 的概念。我身边接触过的一些开发者,有一部分还对这些概念停留在写一个抽象类、接口、或者一个方法(或抽象方法)。至于为什么,我不大清楚是他们表达不出来,还是不理解。下面我也不高谈阔论,直接举例子来解释我所理解的抽象。原创 2016-04-15 11:39:49 · 3110 阅读 · 1 评论 -
Android事件分发详解二(ViewGroup)
一、概述: 1.ViewGroup是继承View的子类,它的事件分发和View基本上差不多,不一的是多一个onInterceptTouchEvent()方法。 2.onInterceptTouchEvent()主要起到拦截作用,如果返回true则拦截事件,不向child view 分发事件,走自己的流程,反之返回false则不拦截事件,分发给child view.二、解析源码: 1.找到dis原创 2017-04-18 17:19:41 · 333 阅读 · 0 评论 -
Android事件分发详解一(View)
Android View事件分发流程1.dispatchTouchEvent(); 2.onTouchListener(); 3.onTouchEvent(); 4.onClickListener();来看看View的dispatchTouchEvent方法的源码: 上图中很明显先判断了mOnTouchListener.onTouch()方法的返回值,如果返回true,那么dispatc原创 2017-04-18 10:11:32 · 246 阅读 · 0 评论 -
Vector版本兼容以及简单使用
Vector DrawableAndroid 5.0发布的时候,Google提供了Vector的支持。Vector Drawable相对于普通的Drawable来说,有以下几个好处:Vector图像可以自动进行适配,不需要通过分辨率来设置不同的图片Vector图像可以大幅减少图像的体积,同样一张图,用Vector来实现,可能只有PNG的几十分之一使用简单,很多设计工具,都可以直接导原创 2017-06-21 14:28:46 · 900 阅读 · 0 评论 -
RxJava用法详解持续更新中......
1.Observable、Observer、subscribe关系public void testRxJava(){ //先创建一个被观察者 Observable observable = Observable.create(new ObservableOnSubscribe<String>() { @Override原创 2017-05-31 16:56:56 · 383 阅读 · 0 评论 -
Android代码获取sha1
public static String getSHA1(Context context) { try { PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName() , PackageManager.GET原创 2017-06-26 14:42:59 · 285 阅读 · 0 评论 -
gradle修改AndroidManifest.xml中的meta-data元素值
Jenkins+gradle自动打包 场景:想用gradle修改AndroidManifest.xml中的meta-data元素值 JPUSH_APPKEY的value想替换成88888888AndroidManifest.xml:<meta-data android:name="JPUSH_APPKEY" android:value="${JPU原创 2016-03-18 10:57:59 · 10455 阅读 · 0 评论 -
Dialog去掉白边和背景
LayoutInflater layout = LayoutInflater.from(ActivityOther.this); View view1 = layout.inflate(R.layout.view_cardnum, null); Dialog cardDLG = new AlertDialog.Builder(ActivityOther.this).create转载 2015-03-07 11:30:58 · 1495 阅读 · 0 评论 -
AlertDialog使用
Dialog alertDialog = new AlertDialog.Builder(LoginActivity.this); alertDialog.setTitle("提示"); alertDialog.setMessage("该手机号未注册是否去注册?"); alertDialog.setPositiveButton("确定", new DialogInterface原创 2015-03-12 14:33:34 · 477 阅读 · 0 评论 -
gradle多渠道打包及友盟统计-eclipse版本
在进行渠道打包的之前,先看看准备篇,知道打包为了什么。参见1.0android批量打包认知。批量打包认知eclipse中使用gradle多渠道打包全部流程一.生成gradle文件,配置本地的gradle环境1.选中需要打包的项目右键选择expert->生成gradle文件,如下图所示2.完成第一步后,刷新项目可以得到如下图所示的文件显然项目中多出转载 2015-04-08 09:13:22 · 553 阅读 · 0 评论 -
Activity切换动画无效(android:windowIsTranslucent)影响(android:windowAnimationStyle)
原因有两个:1.style里面设置了android:windowIsTranslucent这个属性2.windowAnimationStyle需要继承Animation.Translucent true true @android:color/transparent @style/animati转载 2015-06-30 14:20:44 · 705 阅读 · 0 评论 -
Android 代码混淆
什么是代码混淆Java 是一种跨平台的、解释型语言,Java 源代码编译成中间”字节码”存储于 class 文件中。由于跨平台的需要,Java 字节码中包括了很多源代码信息,如变量名、方法名,并且通过这些名称来访问变量和方法,这些符号带有许多语义信息,很容易被反编译成 Java 源代码。为了防止这种现象,我们可以使用 Java 混淆器对 Java 字节码进行混淆。混淆就是对发布出去转载 2015-07-09 11:16:15 · 530 阅读 · 0 评论 -
4.4从图库选择图片,获取图片路径并裁剪
Intent intent=new Intent(Intent.ACTION_GET_CONTENT);//ACTION_OPEN_DOCUMENTintent.addCategory(Intent.CATEGORY_OPENABLE);intent.setType("image/jpeg");if(android.os.Build.VERSION.SDK_INT>=android.os.B转载 2015-07-07 17:49:50 · 725 阅读 · 0 评论 -
anim 动画属性详解
[java] view plaincopy"http://schemas.android.com/apk/res/android"> android:fromXDelta="0" android:toXDelta="100%" android:duration="300"/>原创 2015-07-21 09:49:57 · 568 阅读 · 0 评论 -
Android蓝牙笔记
一、相关介绍1、概述蓝牙无线技术是一种全球通用的短距离无线技术,通过蓝牙技术能够实现多种电子设备间的相互连接,特别是在小型无线电、耗电量低、成本低、安全性、稳定性、易用性以及特别的联网能力等固有的优势上,蓝牙无线技术发展迅速。2、分类蓝牙分为三种:Bluetooth Smart Ready、Bluetooth Smart(Smart是低功耗蓝牙的标识)、以及标准 B原创 2017-07-14 11:24:56 · 603 阅读 · 0 评论