自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 MD5加密算法

一、概述MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流编程语言普遍已有MD5实现。将数据(如汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。MD5算法具有以下特点: 1、压缩性:任意长度的数据,算出的MD5值长度都是固定的。2、容

2016-12-12 08:58:01 697

原创 安卓中自定义简单的组合控件

一、画组合控件的UI既然是自定义组合控件,那么UI肯定得自定义,笔者的自定义组合控件效果图和代码如下: 代码:<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_

2016-12-09 10:14:07 554

原创 安卓中GridView的使用

一、概述GridView(网格视图)是按照行列的方式来显示内容的,一般用于显示图片,图片文字等内容,比如实现十六宫格,九宫格,四宫格等,用GridView是首选,也是最简单的。常用属性:Android:columnWidth:设置列的宽度。android:gravity:设置此组件中的内容在组件中的位置。可选的值有:top、bottom、left、right、center_vertical、f

2016-12-08 09:51:46 6279

原创 安卓中定义滚动的TextView

一、原理让TextView的文字滚动起来的原理非常简单,只要让该TextView永远获得焦点,文字就会滚动起来。二、实现方法定义一个FocusTextView继承TextVeiw,重写其isFocused()方法即可。package com.example.administrator.mobilesafe.view;import android.content.Context;import

2016-12-08 09:24:44 425

原创 安卓中利用xutils框架下载新版本apk

一、概述xUtils 包含了很多实用的android工具。 xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响… xUitls 最低兼容android 2.2 (api level 8)目前xUtils主要有四大模块:DbUtils模块: android中的orm框架,一行代码就可以进行增删改查; 支持事务,默

2016-12-07 10:15:38 2853

原创 安卓中各种对话框

一、系统对话框普通对话框 代码如下:AlertDialog.Builder builder = new Builder(this);builder.setTitle("警告");//设置标题builder.setMessage("您确定要清空回收站吗?");//设置提示内容//设置确定按钮的点击事件builder.setPositiveButton("确定", new OnClickLis

2016-12-06 16:37:56 589

原创 安卓中解析json数据

一、概述JSON是JavaScript Object Notation的简称,起源于js(javascript)它是一种轻量级的数据交换格式,JSON不仅在js中广泛使用,同时还在其他领域得到广泛使用,如c,c++,java,Php,swift等等,成为了一种通用的理想数据交换格式,它有两种数据结构,分别是对象,数组,它形式上有花括号{}和中括号[]嵌套,{}中的是代表对象,[]中的为数组,即对象

2016-12-06 09:46:20 5872 1

原创 安卓中网络编程(HttpURLConnection类的使用)

一、准备工作进行网络编程时,就得有服务器;服务器可以使用电脑开启tomcat进行模拟。模拟机可以直接访问tomcat;当用真机运行时,可以让笔记本和手机连接同一无线网络或用笔记本开无线热点给手机连接也可以。二、准备数据可以准备一些数据放到Tomcat\apache-tomcat-8.0.36\webapps\ROOT目录下供访问,笔者准备的是一份json文件。MobilePhoneUpdat

2016-11-29 18:48:50 463

原创 安卓中获取应用程序版本号和版本名称的方法

安卓中版本名称为String类型,版本号为int类型,版本号涉及APP的更新问题,下面笔者简单介绍如何使用包管理对象获得版本号和名称。package com.example.pack;import android.support.v7.app.ActionBarActivity;import android.content.pm.PackageInfo;import android.conte

2016-11-28 17:33:00 3893

原创 队列的应用--凯撒加密法

凯撒加密法简介凯撒加密(Caesar cipher)是一种简单的消息编码方式:它根据字母表将消息中的每个字母移动常量位k。举个例子如果k等于3,则在编码后的消息中,每个字母都会向前移动3位:a会被替换为d;b会被替换成e;依此类推。字母表末尾将回卷到字母表开头。于是,w会被替换为z,x会被替换为a。遗憾的是凯撒加密法箱单容易破解。字母的移动只有26种可能,要破解密码,只需尝试各种密钥值,直到有一

2016-11-27 10:03:47 2517

原创 队列基于链表和数组的实现方法(java)

一、队列的定义队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为空队列。 队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素成为出队。因为队列只允许在一段插入,在另一端删除,所

2016-11-24 20:20:58 974

原创 栈的应用——后缀表达式的计算

## 一、后缀表达式的计算方法 ##给出一个算式,如:(3 * 4-(2+5)) * 4 / 2,其等价的后缀表达式为:3 4 * 2 5 + - 4 * 2 /;计算方法为从左到右扫描后缀表达式,遇到数字则入栈,遇到运算符则将栈中的数字出栈,第一个出栈的数字充当第二个运算数,第二个出栈的数字充当第一个运算数,与运算符作运算,并将结果入栈,最后栈中剩下的那个数就是运算结果。二、代码实现Post

2016-11-23 10:47:27 1530

原创 栈基于数组和链表的实现方式(java)

一、栈基于数组的实现 用数组实现栈时,将栈底置于数组索引0处,应确定一个泛型数组,数组的容量,以及标识下一个可用数组单元的整型变量top。 栈的操作包括入栈(push),出栈(pop),查看栈顶元素(peek),判断栈是否为空(isEmpty),确定栈内有多少个元素(size)。实现步骤1.定义栈的接口ADTpublic interface StackADT<T> { public v

2016-11-20 09:19:08 566

原创 安卓中状态选择器和颜色选择器的使用

在现实开发中,我们总有这样的需求:本来按钮的背景或文字的颜色是固定的,当按钮被点击时,要求按钮的背景和文字颜色作出相应的改变。这就需要用到状态选择器和颜色选择器。使用状态选择器的步骤如下:①在res目录下定义drawable目录,在drawable目录中新建xml文件,选择selector标签。②状态选择器的写法举例。<?xml version="1.0" encoding="utf-8"?

2016-10-19 10:47:29 5657

原创 安卓中ViewPager控件的使用

ViewPaper简介ViewPager是android扩展包v4包中的类,这个类可以让用户左右切换当前的view。 1)ViewPager类直接继承了ViewGroup类,所有它是一个容器类,可以在其中添加其他的view类。2)ViewPager类需要一个PagerAdapter适配器类给它提供数据。3)ViewPager经常和Fragment一起使用,并且提供了专门的FragmentPag

2016-10-17 22:51:12 1250

原创 安卓中补间动画的使用

补间动画(Tween Animation)补间动画是通过在两个关键帧之间补充渐变的动画效果来实现的。补间动画的优点是可以节省空间。目前Android应用框架支持的补间动画效果有以下5种。具体实现在android.view.animation类库中。AlphaAnimation:透明度(alpha)渐变效果,对应alpha标签。TranslateAnimation:位移渐变,需要指定移动点的开始

2016-10-15 21:21:35 494

原创 JNI中C回调java方法

原理C代码回调java方法的原理是利用反射的方法调用的。下面先简单介绍在java中利用反射调用方法的做法。java工程中有一个业务类Utils,里面有一个test方法,在主类的Main方法中通过反射调用test方法。Utils.java:public class Utils { public void test(String s){ System.out.println(

2016-10-13 22:33:17 1171

原创 JNI中java传递各类型参数给C

java传递各类型参数给C的要点在于要将传递过来的数据类型转换成C认识的数据类型,C返回时又要转换成java认识的数据类型。下图是java和C数据类型的对比表。 传递int类型数据对比前面两个表,得知java中int就是c中的jint,并且两种数据类型都是占4个字节,因此可不用转换,直接计算并返回。Java代码:public native int add(int x, int y);C中实现代码

2016-10-12 08:37:02 1263

原创 在eclipse中进行Android下JNI开发的步骤

android下JNI开发what 什么是JNIJNI java native interface native本地 java本地接口通过JNI可以实现java和本地代码之间相互调用jni可以看做是翻译 实际上就是一套协议why 为什么要用JNIJava 一处编译到处运行 ①java运行在虚拟机上 JNI可以扩展java虚拟机的能力 让java代码可以调用驱动②java是解释型语言

2016-10-08 18:00:20 601

原创 安卓中获取应用程序基本信息

一、得到所有应用程序的信息//1.0得到包管理类PackageManager pm = context.getPackageManager();//2.0得到手机上已安装的所有应用程序的的基本信息List<PackageInfo> packInfos = pm.getInstalledPackages(0);//循环遍历得到每个程序的基本信息for (PackageInfo package

2016-09-23 22:01:03 462

原创 安卓中listview分批加载数据

在使用listview显示成千上万条数据时, 加载速度可能就会很慢,这样用户体验就不是很好,为解决这个问题,我们可以分批加载ListView的数据。分批加载ListView的步骤大致如下:首先取出一部分数据显示到ListView上,然后对ListView进行滚动监听,当用户滑动到ListView底部时,又加载一批数据显示到ListView上,这样分批加载,用户总能看到新的数据。笔者的简略代码如下

2016-09-23 11:23:12 1320 1

原创 安卓中备份和恢复短信

笔者这里的备份短信只是简单的以xml文件形式备份到手机sd卡中,而不是备份到云端。一、备份短信,备份短信的原理是通过内容提供者读取系统短信的内容并生成xml文件存储到sd卡中。//得到内容提供者实例ContentResolver resolver = context.getContentResolver();//在sd卡生成一个xml文件存放短信内容 File file = n

2016-09-22 11:11:59 1149

原创 安卓中删除通话记录

当拦截到黑名单电话后,即使挂断了电话,也会在通话记录中留下记录,因此还要将黑名单的通话记录删除。**一、找到系统存放通话记录的表,用内容提供者监听该表的变化。**//找到存放通话记录的表Uri uri = Uri.parse("content://call_log/calls"); ContentResolver resolver = context.getContentReso

2016-09-21 12:45:41 1940

空空如也

空空如也

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

TA关注的人

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