![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android
cctraveling
这个作者很懒,什么都没留下…
展开
-
DialogFragment的相关使用
DialogFragment的使用原创 2015-08-17 16:34:38 · 395 阅读 · 0 评论 -
Intent传递对象的两种方法
android为Intent提供了两种传递对象参数类型的方法分别需要使实体类实现Serializable接口、Parcelable接口首先,我们需要知道,传递对象首先要将对象序列化。一、那么为什么要对象序列化呢?1、永久性保存对象。保存对象的字节序列到本地文件中。2、用序列化对象在网络中,进程间传递对象。二、序列化对象什么时候实现Serializable接口,什么时候实现P转载 2015-10-27 11:55:59 · 519 阅读 · 0 评论 -
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 · 567 阅读 · 0 评论 -
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 · 501 阅读 · 0 评论 -
HttpPost与HttpGet的区别
get是从服务器上获取数据,post是向服务器传送数据。get把参数数据加到提交表单的action属性所指的URL中,值和表单内各个字段一一对应。在URL中可以看得到,post是通过HTTP post机制将表单内各个字段与其内容放在HTML Header内一起传送到action属性所指的URL地址,用户看不到这个过程。对于get方式,服务器端采用Request.QueryString获取变原创 2016-01-15 11:57:50 · 680 阅读 · 0 评论 -
android动画机制
android动画大体分为两种,一种是视图动画,一种是属性动画。视图动画Animation动画框架定义了透明度、旋转、位移、缩放几种常见的动画效果,控制的是整个view,实现原理是每次绘制动画视图时View锁在的ViewGroup中的drawChild函数获取该view的Animation中的Transformation值,然后调用canvas.concat(transformTo原创 2016-01-11 11:02:52 · 310 阅读 · 0 评论 -
android的thread、looper、handler机制
android的应用程序是消息驱动的,并且通过looper、handler来实现消息循环机制,且是针对线程的,一个线程额可以拥有一个(也可以不存在)消息队列和一个消息循环(Looper),特定线程的消息只能分发给本线程,不能进行跨线程、跨进程通信,但是创建的工作线程默认是没有消息队列以及消息循环的,如果想让该线程拥有消息队列和消息循环,需要在线程中调用Looper.prepare()来创建消息队列原创 2016-01-13 15:59:15 · 453 阅读 · 0 评论 -
android 常用tips
1、对于不需要硬件加速的activity(没有动画效果,视频播放以及各种多媒体文件的操作)可以关掉硬件加速,在AndroidMenifest.xml文件中通过“android:configChanges=sereenSize|orientation”2、为了减轻应用程序主进程的内存压力,对于耗内存比较多的界面(例如flash播放界面、视频播放界面),可以在AndroidMenifest.xml原创 2015-10-28 14:20:57 · 656 阅读 · 0 评论 -
ORMLite框架使用
1 使用SQLiteOpenHelper对数据库进行版本管理在编写数据应用软件时,如果应用使用到了SQLite数据库,我们必须必须在用户初次使用软件时创建出应用使用的数据库表结构及添加一些初始化记录。另外在软件升级时,也需要对数据库表结构进行更新,android为我们提供了一个名为SQLiteOpenHelper的抽象类来对数据库版本进行管理。SQLiteOpenHelper提供了onCr原创 2016-02-26 18:17:10 · 560 阅读 · 0 评论 -
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 · 576 阅读 · 0 评论 -
android的自定义属性
感觉android官方定义的组件不够用时,可以选择自定义组件,自定义组件通常分为3步,第一步:在res/values文件下定义一个diy.xml文件,代码如下。 该文件是定义属性名和格式的地方,需要用到name="ToolBar"> 包围所有属性。其中name为该属性集的名字,主要用途是标识该属性集。在第原创 2015-10-10 14:49:40 · 362 阅读 · 0 评论 -
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 · 422 阅读 · 0 评论 -
ActionBar之我的记录
ActionBar的各种基础操作:添加或者移除actionBar: 添加:在AndroidManifest.xml中指定Application或Activity的theme是Theme.Holo或其子类就可以了,而使用Eclipse创建的项目自动就会将Application的theme指定成Theme.Holo,所以ActionBar默认都是显示出来的。移除:移除ActionB原创 2015-08-19 14:12:44 · 382 阅读 · 0 评论 -
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 · 421 阅读 · 0 评论 -
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 · 538 阅读 · 0 评论 -
总结实现微信支付所遇到的坑
上星期给公司的APP增加了一个微信支付的功能(怒草微信,别人家功能都很轻松添加,咋就你家的这么磨叽呢?),感觉就是个没啥技术含量,但是特别繁琐的东西,故在此记录以供日后查阅,首先需要在微信开放平台申请使用相应支付接口时需要使用到的appid、appsecret(长度为32 的字符串,用于获取 access_token)、appkey(长度为 128 的字符串,用于支付过程中生成 app原创 2015-10-19 17:21:04 · 2576 阅读 · 0 评论 -
RSA算法以及MD5算法
RSA算法经常用于少量数据加密,具有安全性高但是速度较慢的优缺点,这是一种非对称密码算法,所谓非对称,即是指该算法加密需要一对密钥,一个密钥用于加密,一个密钥用于解密。其安全性基于大数分解的难度RSA算法涉及到三个参数:n,e1,e2:其中,n是两个大质数p、q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度。e1和e2是一对相关的值,e1可以任意取,但要求e1与(p-1)*(q原创 2015-10-20 17:13:20 · 859 阅读 · 0 评论 -
Java中“==”和equal()的区别
java中的数据类型可以分为两类,1、基本数据类型:byte、short、int、char、long、float、double、boolean。他们之间的比较使用“==”,比较的是它们的值。2、复合数据类型(类):当他们用“==”进行比较时,比较的是他们在内存中的存放地址,所以,只有同一个new 出来的对象,他们的比较结果是true,其他为false,java当中所有的类都继承于O原创 2015-10-22 17:25:04 · 438 阅读 · 0 评论 -
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 · 497 阅读 · 0 评论 -
SQLite 的使用
sqlite存储的数据类型NULL:标识一个NULL值。INTEGER:整数类型REAL:浮点型TEXT:字符串BLOG:二进制VARCHAR(10):长度不固定且其最大长度为n的字符串sqlite3中还有VAR CHAR等类型,但仍然会转换成TEXT或者其他类型存储sqlite存储数据的约束条件PRIMARY KEY:主键,主键的值必须唯一,用于标识每原创 2016-05-26 14:06:08 · 426 阅读 · 0 评论