很多程序员辛辛苦苦开发出的android开发代码,很容易就被黑客翻译了. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹 proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用. 在工程的"default.properties"中添加这样一句话“proguard.config=prog…
很多程序员辛辛苦苦开发出的android开发代码,很容易就被黑客翻译了. Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹 proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用. 在工程的"default.properties"中添加这样一句话“proguard.config=prog…
Android开发代码规范 1.命名基本原则    在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在为一个资源其名称的时候,应该本着描述性以及唯一性这两大特征来命名,才能保证资源之间不冲突,并且每一个都便于记忆. 对于理解应用程序的逻辑流,命名方案是最有影响力的一种帮助.名称应该说明“什么”而不是“如何”.命名原则是:使名称足够长以便有一定的意义,并且足够短以避免冗长.唯一名称在编程上仅用于将各项区分开.以下几点…
Android开发 --代码布局 在线性布局LinearLayout里加入view比较简单,因为属性比较少,布局简单 示例,加入一个TextView LinearLayout layout = (LinearLayout)findViewById(R.id.layout); TextView tv = new TextView(this); tv.setText("hello,world"); LayoutParams lp = new LayoutParams(LayoutParam…
本篇开始总结Android开发中的一些注意事项,提高代码质量(仅供参考): 1.  Activity间的数据通信,对于数据量比较大的,避免使用 Intent + Parcelable 的方式,可以考虑 EventBus 等替代方案,以免造成TransactionTooLargeException . 2.  Activity间通过隐式 Intent 的跳转,在发出 Intent 之前必须通过 resolveActivity 检查,避免找不到合适的调用组件,造成 ActivityNotFoundE…
在android小程序的开发过程中,使用eclipse中的虚拟机进行程序开发速度较慢,用真机开发可以显著提高调试的速度. 这里我用的操作系统是win7专业版,手机型号HM1S: 进行USB调试的主要步骤包括:将手机设置为USB调试模式,在windows系统上安装驱动,在adt中进行设置. 下面详细描述一下具体步骤: ① 手机设置:设置->开发人员选项->勾选“USB调试”. ②安装驱动:将手机和电脑用数据线连接好之后,windows系统中如果安装“360手机助手”或者“豌豆荚”的话,会自动为手…
为了防止自己的劳动成果被别人窃取,混淆代码能有效防止被反编译,下面来总结以下混淆代码的步骤: 2.编辑项目下的proguard-project.txt,添加不需要混淆的规则(model.泛型.反射.第三方jar包),proguard-project.txt文件内容如下: # To enable ProGuard in your project, edit project.properties # to define the proguard.config property as describe…
目录 1.命名基本原则  2.命名基本规范 2.1编程基本命名规范 2.2分类命名规范 3.分类命名规范 3.1基本数据类型命名规范 3.2控件命名规范 3.3变量命名规范 3.4整个项目的目录规范化 3.4 res资源文件命名规范 4.代码书写规范  5.注释 6.提高代码质量 7.设计模式(Design Patterns) 1.命名基本原则    在面向对象编程中,对于类,对象,方法,变量等方面的命名是非常有技巧的.比如,大小写的区分,使用不同字母开头等等.但究其本,追其源,在为一个资源其名…
1.activity_main.xml 描述: 定义了一个按钮 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/activity_main" android:layout_width="mat…
使用真机测试原因: 1. 模拟器启动慢,真机测试速度较快 2. 有些程序在真机测试才有效,模拟器存在bug,结果要以真机为标准 连接方法: 1.设置手机为开发者模式(设置->关于手机->连续点击MIUI版本——开启成功) 2.在更多设置中找到系统安全设置——允许安装未知来源的应用 3.在更多设置中选择开发者选项,在开发者选项中同时勾选USB调试和USB安装的开关 eclipse中:     点击Run --->  Run configurations 选择target , 选择Alway…
,移动和联通的WAP代理服务器都是10.0.0.172,电信的WAP代理服务器是10.0.0.200. 在Android系统中,对于获取手机的APN设置,需要通过ContentProvider来进行数据库查询,查询的URI地址如下. //取得全部的APN列表:content://telephony/carriers; //取得当前设置的APN:content://telephony/carriers/preferapn; //取得current=1的APN:content://telephony…
1:查看是否有存储卡插入 String status=Environment.getExternalStorageState(); if(status.equals(Enviroment.MEDIA_MOUNTED)) { ;//说明有SD卡插入 } 2:让某个Activity透明 在OnCreate 中不设Layout,然后this.setTheme(R.style.Theme_Transparent); 3:获取屏幕宽高 DisplayMetrics dm = new DisplayMetr…
一般来说 真机调试 是最快的, 所以建议 大家 直接用真机调试.…
== 0) { convertView.setBackgroundResource(R.drawable.list_gray_9); } else { convertView.setBackgroundResource(R.drawable.list_white_9); } 可是,正如上述代码可见,我加入的是9-patch图片,直接导致我的convertView中的内容无法正常显示了. 这可怎么办呢?我在xml中直接设置9-patch给一个layout什么的,都是正常显示呀,这个怎么就出问题了呢…
出现“no debuggable processes”可以: 1)尝试Tools->android->Enable ADB Intergration使之选中: 2)换一根数据线试试. 初次发自己的体会,请多关照.…
这次再对内容为View的ViewPager的适配器PagerAdapter进行简单的封装,支持List数据和SparseArray的数据,带更新视图功能. 首先,先贴上最上面的抽象类代码: /* * Date: 14-8-18 * Project: Access-Control-V2 */ package cn.irains.access_control_v2.common; import android.support.v4.view.PagerAdapter; import android.…
效果图: 代码: package com.example.lenovo.mydemo.myViewDemo; import android.content.Context; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Typefa…
通讯录就是一个ListView.我们须要通过数据库和ContentProvider来活动通讯录的数据.当然,我们应该提供选中后编辑的功能. 非常easy的一个通讯略Demo,所以.直接上代码,须要的看一下就知道. 不解释. 文件1: MyContacs 主活动页面. package com.yarin.android.MyContacts; import android.app.ListActivity; import android.content.ComponentName; import…
越来越多的App运用到了定位,导航的这些功能,其实实现一个自己的百度地图也是非常的简单,这篇博客将会教你简单的实现一个百度地图.看一下效果图: 第一步:要使用百度地图,必须要有百度地图的Key,要获得这个Key,需要你提供两个信息:SHA1和应用的包名. *获取SHA1: 打开你的安卓ADB目录,一般在C盘的用户目录中以.android为文件名. 这个debug文件就是获取SHA1值的文件.接下来WIN+R,输入cmd.来到命令窗口界面:先输入cd .android来到这个文件夹中之后输入key…
改章节个人在深圳游玩的时候突然想到的...这几周就有想写几篇关于android驱动的博客,所以回家到之后就奋笔疾书的写出来发布了 这些天一直在想Android驱动框架层的实现,本文借助老罗教师的博客和现有通过过分析台湾的Jollen的mokoid 工程代码,并尝试在Android开发板上驱动一个简单的蜂鸣器,来解析Android下驱动的调用. HAL架构由Patrick Brady (Google) 在2008 Google  I/O报告中提出的,如下图. 其实可以斟酌先编写驱动代码,然后使用N…
数据存储在开发中是使用最频繁的,根据不同的情况选择不同的存储数据方式对于提高开发效率很有帮助.下面笔者在主要介绍Android平台中实现数据存储的5种方式. 1.使用SharedPreferences存储数据 SharedPreferences是Android平台上一个轻量级的存储类,主要是保存一些常用的配置比如窗口状态,一般在Activity中 重载窗口状态onSaveInstance State保存一般使用SharedPreferences完成,它提供了Android平台常规的Long长 整…
SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 SQLite. SQLite 由以下几个组件组成:SQL 编译器.内核.后端以及附件.SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试.修改和扩展 SQLite 的内核变得更加方便. 图 1. SQLite 内部结构 SQLite 基本上符合 SQL-92…
http://blog.csdn.net/jason0539/article/details/16360835 SQLite 介绍 SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 SQLite. SQLite 由以下几个组件组成:SQL 编译器.内核.后端以及附件.SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试.修改和扩展…
SQLite 介绍   SQLite 一个非常流行的嵌入式数据库,它支持 SQL 语言,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 SQLite. SQLite 由以下几个组件组成:SQL 编译器.内核.后端以及附件.SQLite 通过利用虚拟机和虚拟数据库引擎(VDBE),使调试.修改和扩展 SQLite 的内核变得更加方便. 图 1. SQLite 内部结构<IGNORE_JS_OP> ima…
一.SQLite 介绍 SQLite一个非常流行的轻量级嵌入式数据库,SQLite支持多数的SQL92标准,在一些场合下其性能优于MySql等数据库引擎,并且只利用很少的内存就有很好的性能.此外它还是开源的,任何人都可以使用它.许多开源项目((Mozilla, PHP, Python)都使用了 SQLite. SQLite并不像Oracle.MySQL数据库那样需要安装.启动服务器进程,SQLite数据库只是一个文件. SQLite是一种嵌入到应用程序中的数据库,包含表在内的所有数据都存放在单个…
目录: android 开发 View _2_ View的属性动画ObjectAnimator ,动画效果一览 android 开发 View _3_ View的属性动画ValueAnimator android 开发 View _4_ 我的简单自定义ViewDemo android 开发 View _5_ Paint详解 android 开发 View _6_Canvas详解 android 开发 View _7_ 动态自定义View android 开发 View _8_ 动态图片自定义Vi…
可以参考http://wenku.baidu.com/link?url=ghU6IFS1WJXLFKfM_0efv9YQEnMDBrdi9CXwirSs5IOLLeUfdIOh8OOVv0DX89LtibPRhZjOJfA26mNIDIwKYP_Yp9BfLfVDHfgp0cCR4_G 有图. 先行强调: 安装 Java SDK 和 Android SDK 的路径中不能有空格或中文, 否则在启动 Android SDK Manager 的时候会出现闪退的现象.此安装步骤也适用于 X86 的 An…
在Android开发中,如果用到数据库来储存数据,那么难免就要查看数据库中的内容,可是对于未root的真机来说,查看数据库就不是那么容易了,如果仅仅为了查看数据库再把手机root了,有点得不偿失,所以下面的就提供了一中不用root也可查看数据库的方法,供需要的朋友参考. 1. 进入adb所在的目录,打开cmd窗口,输入`adb shell` 2. 继续输入`run-as 应用的包名` 3. 然后输入 `cd databases` 4. 最后输入`ls`查看数据库的名字 截图如下: 如图,我的数据…
之前一直未使用真机进行Android开发,为准备明天的培训,拿出淘汰下来的s3准备环境,竟然发现无法连接mac,度娘一番找到答案,如下:mac 系统开发android,真机调试解决方案(无数的坑之后吐血总结) 再总结一下: 1.首先要使用androidfiletransfer能看到手机 2.然后找到手机的Vender ID(system_profiler SPUSBDataType命令查看USB中的信息) 3.修改adb_usb.ini(vi ~/.android/adb_usb.ini),添加…
Android开发需求变化快,开发周期要求尽量短,接下来一系列文章从实际使用出发总结一些常用的代码片段,便于查找,也为后来人提供一份参考. 1.获取Manifest的基本信息(升级页面和软件关于页面一般会使用到) Context mContext = XXXApplication.getInstance().getApplicationContext(); //获取Application的Context ,当然也可以获取当前的Activity的Context, Application一般是单例…