自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (1)
  • 收藏
  • 关注

原创 SQLite 的使用

sqlite存储的数据类型NULL:标识一个NULL值。INTEGER:整数类型REAL:浮点型TEXT:字符串BLOG:二进制VARCHAR(10):长度不固定且其最大长度为n的字符串sqlite3中还有VAR CHAR等类型,但仍然会转换成TEXT或者其他类型存储sqlite存储数据的约束条件PRIMARY KEY:主键,主键的值必须唯一,用于标识每

2016-05-26 14:06:08 407

原创 ORMLite框架使用

1 使用SQLiteOpenHelper对数据库进行版本管理在编写数据应用软件时,如果应用使用到了SQLite数据库,我们必须必须在用户初次使用软件时创建出应用使用的数据库表结构及添加一些初始化记录。另外在软件升级时,也需要对数据库表结构进行更新,android为我们提供了一个名为SQLiteOpenHelper的抽象类来对数据库版本进行管理。SQLiteOpenHelper提供了onCr

2016-02-26 18:17:10 550

原创 HttpPost与HttpGet的区别

get是从服务器上获取数据,post是向服务器传送数据。get把参数数据加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应。在URL中可以看得到,post是通过HTTP post机制将表单内各个字段与其内容放在HTML Header内一起传送到action属性所指的URL地址,用户看不到这个过程。对于get方式,服务器端采用Request.QueryString获取变

2016-01-15 11:57:50 651

原创 android的thread、looper、handler机制

android的应用程序是消息驱动的,并且通过looper、handler来实现消息循环机制,且是针对线程的,一个线程额可以拥有一个(也可以不存在)消息队列和一个消息循环(Looper),特定线程的消息只能分发给本线程,不能进行跨线程、跨进程通信,但是创建的工作线程默认是没有消息队列以及消息循环的,如果想让该线程拥有消息队列和消息循环,需要在线程中调用Looper.prepare()来创建消息队列

2016-01-13 15:59:15 436

原创 android动画机制

android动画大体分为两种,一种是视图动画,一种是属性动画。视图动画Animation动画框架定义了透明度、旋转、位移、缩放几种常见的动画效果,控制的是整个view,实现原理是每次绘制动画视图时View锁在的ViewGroup中的drawChild函数获取该view的Animation中的Transformation值,然后调用canvas.concat(transformTo

2016-01-11 11:02:52 299

原创 Android View 中的scrollBy() scrollTo() getScrollY() getScrollX()

android系统以手机屏幕左上角为坐标原点建立直角坐标系,x轴方向与笛卡尔坐标系相同,y轴方向与笛卡尔坐标系相反,获取控件在parent中的相对位置可以使用getLeft(),getRight(),getTop(),getBottom()这四个方法,此处不详解,查看View中源码,在这个类中有mScrollX和mScrollY两个变量用于存储控件移动的位移,而getScrollY和get

2015-12-11 10:38:46 488

原创 meterial design之tablayout结合viewpage的使用

使用tablayout结合viewpage可以做到在多个页面间流畅的切换,以前有第三方的框架达到这个效果,而在google I/O大会上,google推出了官方的tablayput框架,使我们可以很容易就实现这个切换界面的效果,以下就是使用的步骤:为使用Meterial design中的Tablayout,需要引入design包 compile 'com.android.support:d

2015-11-03 10:27:37 522

原创 eclipse中和android studio中进行单元测试

首先是在eclipse中进行单元测试的步骤1、在menifest.xml中添加两条语句   <instrumentation android:name="android.test.InstrumentationTestRunner" android:targetPackage="cn.apps123.weishang.zha

2015-10-30 10:26:11 543

原创 android 常用tips

1、对于不需要硬件加速的activity(没有动画效果,视频播放以及各种多媒体文件的操作)可以关掉硬件加速,在AndroidMenifest.xml文件中通过“android:configChanges=sereenSize|orientation”2、为了减轻应用程序主进程的内存压力,对于耗内存比较多的界面(例如flash播放界面、视频播放界面),可以在AndroidMenifest.xml

2015-10-28 14:20:57 639

原创 FragmentTabhost的使用(保存fragment的状态)

这是一个关于小小的FragmentTabhost的使用范例,android已经不推荐使用tabhost,现在一般都用fragmenttabhost,记住要使用v包来支持,切勿导错包1、主布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http

2015-10-27 17:31:57 563

转载 Intent传递对象的两种方法

android为Intent提供了两种传递对象参数类型的方法分别需要使实体类实现Serializable接口、Parcelable接口首先,我们需要知道,传递对象首先要将对象序列化。一、那么为什么要对象序列化呢?1、永久性保存对象。保存对象的字节序列到本地文件中。2、用序列化对象在网络中,进程间传递对象。二、序列化对象什么时候实现Serializable接口,什么时候实现P

2015-10-27 11:55:59 507

原创 Java中“==”和equal()的区别

java中的数据类型可以分为两类,1、基本数据类型:byte、short、int、char、long、float、double、boolean。他们之间的比较使用“==”,比较的是它们的值。2、复合数据类型(类):当他们用“==”进行比较时,比较的是他们在内存中的存放地址,所以,只有同一个new 出来的对象,他们的比较结果是true,其他为false,java当中所有的类都继承于O

2015-10-22 17:25:04 425

原创 RSA算法以及MD5算法

RSA算法经常用于少量数据加密,具有安全性高但是速度较慢的优缺点,这是一种非对称密码算法,所谓非对称,即是指该算法加密需要一对密钥,一个密钥用于加密,一个密钥用于解密。其安全性基于大数分解的难度RSA算法涉及到三个参数:n,e1,e2:其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q

2015-10-20 17:13:20 829

原创 总结实现微信支付所遇到的坑

上星期给公司的APP增加了一个微信支付的功能(怒草微信,别人家功能都很轻松添加,咋就你家的这么磨叽呢?),感觉就是个没啥技术含量,但是特别繁琐的东西,故在此记录以供日后查阅,首先需要在微信开放平台申请使用相应支付接口时需要使用到的appid、appsecret(长度为32 的字符串,用于获取 access_token)、appkey(长度为 128 的字符串,用于支付过程中生成 app

2015-10-19 17:21:04 2535

原创 android的自定义属性

感觉android官方定义的组件不够用时,可以选择自定义组件,自定义组件通常分为3步,第一步:在res/values文件下定义一个diy.xml文件,代码如下。 该文件是定义属性名和格式的地方,需要用到name="ToolBar"> 包围所有属性。其中name为该属性集的名字,主要用途是标识该属性集。在第

2015-10-10 14:49:40 346

原创 EditText编辑监听

实现输入框EditText编辑时的监听很简单,只需添加实现一个TextWatcher接口即可:editText.addTextChangedListener(new TextWatcher(@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {

2015-10-09 11:23:30 470

原创 android项目迁移到新android studio所遇到的Gradle问题汇总

1、Studio Gradle DSL method not found: 'android()' — Error(17,0)解决方法:删除掉顶层的块原因:新版的android studio不能读取顶层的android{}。2、Library projects cannot set applicationId,applicationId is s

2015-09-11 16:11:46 404

原创 ActionBar之我的记录

ActionBar的各种基础操作:添加或者移除actionBar:   添加:在AndroidManifest.xml中指定Application或Activity的theme是Theme.Holo或其子类就可以了,而使用Eclipse创建的项目自动就会将Application的theme指定成Theme.Holo,所以ActionBar默认都是显示出来的。移除:移除ActionB

2015-08-19 14:12:44 373

原创 android的TouchEvent事件机制

本文是看了http://blog.csdn.net/morgan_xww/article/details/9372285/ 这篇文章后,再结合自己理解所做的一个记录。在处理touchEvent的时候,与之相关的3个方法:public boolean dispatchTouchEvent (MotionEvent ev);//用于向子控件分派事件,返回ture不分派,返回fals

2015-08-18 10:44:41 412

原创 DialogFragment的相关使用

DialogFragment的使用

2015-08-17 16:34:38 383

OnTouchDemo

包含OnTouchEvent 和 OnTouchListener 的小demo

2015-08-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除