自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 Android 5.0以上操作外置sdcard(一)

google在android4.4封闭了操作外置sd卡的功能,业界一片吐槽,so,在android5.0提供了全新的方式去操作外置sdcard。    1.首先获得外置sdcard的路径:        extSdcardPath = System.getenv("SECONDARY_STORAGE");    2.获取uri,防止重复进入documentui界面            if (!...

2018-05-25 10:02:54 1815

原创 Android中 将一个布局文件添加到listView的头部

Android中将一个布局添加到listView的头部:1.编写此布局2.初始化:listViewHeader=getLayoutInflater().inflate(R.layout.listview_header_layout,lv, false);3.添加:lv.addHeaderView(listViewHeader);与ScollerView对比:在进行数据操作时,此方法比较简单,Sco...

2018-05-25 09:57:23 836

原创 Android中的倒计时器设计实现 00:00:00格式

功能:倒计时类:MainActivity(主类)       MyCount(实现倒计时功能的类)       AdvancedCountdownTimer(消息机制的抽象类)代码如下:       package com.example.daojishiqi;import android.os.Bundle;import android.os.Handler;import android.os....

2018-05-25 09:54:24 1956

原创 Android 倒计时器 00:00:00格式

功能:倒计时类:MainActivity(主类)       MyCount(实现倒计时功能的类)       AdvancedCountdownTimer(消息机制的抽象类)代码如下:       package com.example.daojishiqi;import android.os.Bundle;import android.os.Ha

2017-01-12 11:17:39 1984

转载 TCP与UDP区别

TCP协议与UDP协议的区别    首先咱们弄清楚,TCP协议和UCP协议与TCP/IP协议的联系,很多人犯糊涂了,一直都是说TCP/IP协议与UDP协议的区别,我觉得这是没有从本质上弄清楚网络通信!TCP/IP协议是一个协议簇。里面包括很多协议的。UDP只是其中的一个。之所以命名为TCP/IP协议,因为TCP,IP协议是两个很重要的协议,就用他两命名了。TCP/IP协议集包括应用层,

2016-10-21 16:41:46 336

原创 Android 中Java 和C/C++的相互调用方法

在一些Android应用的开发中,需要通过JNI和 Android NDK工具实现JAVA和C/C++之间的相互调用。       Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI是本地编程接口,它使得在 Java 虚拟机 (VM)内部运行的 Java代码能够与用其它编程语言(如C、C++和汇编语言)编写

2016-09-01 10:43:16 1107

原创 Service隐式显示启动

1、显式启动Service端:需要声明android:exported="true",这样别的APP才能访问。            android:exported= "true">客户端:需要知道Sercvice的名字以及其Application所在的包名。public static final String NAME_G

2016-08-26 10:52:58 626

原创 Android中的视频传输

Android支持播放网络上的视频。在播放网络上的视频时,牵涉到视频流的传输,往往有两种协议,一种是HTTP,一种是RTSP。这两种协议最大的不同是,HTTP协议,不支持实时流媒体的播放,而RTSP协议就支持。 Android中自带的播放器,以及VideoView等都支持上述两种协议,因此,可以直接播放网络上的视频,唯一不同的就是URI。 代码如下:

2016-08-25 10:28:15 1134

原创 Linphone快速挂断后程序的崩溃问题

第一种情况:第一步:主叫拨通电话后快速挂断,此时尚未收到服务器对 INVITE 的临时响应消息,因此主叫在调用 eXosip_call_terminate 函数时并不发送 cancel 消息,则通话过程实际并没有结束。第二步:主叫在挂断后状态进入 LinphoneCallEnd,并在 linphone_call_set_terminated 函数中将 lc->current_call 赋值

2016-08-23 17:52:33 1064

原创 Android CountDownTimer(倒计时器)和Chronometr(定时器)

CountDownTimer(倒计时器):在平时我们编程的时候,经常会用到倒计时这个功能,很多人不知道Android已经帮封装好了一个类,往往都自己写。现在发现了这个类,大家共享一下:在一个TextView不断显示剩下的时间,代码如下:[java] view plain copy private TextView vertifyV

2016-08-23 17:47:56 773

原创 @SuppressLint("NewApi")和@TargetApi()的区别

在Android代码中,我们有时会使用比我们在AndroidManifest中设置的android:minSdkVersion版本更高的方法,此时编译器会提示警告,解决方法是在方法上加上@SuppressLint("NewApi")或者@TargetApi()。那他们之间有什么区别呢,很简单,@SuppressLint("NewApi")屏蔽一切新api中才能使用的方法报的android

2016-08-22 09:28:40 1298

原创 Android之API详解

API(Application Programming Interface)(应用程序编程接口):作为一个编程初学者来说,API函数也许是一个时常耳闻却感觉有些神秘的东西。单看它的复杂语法,就足令人望而生畏,但是任何事物在我们深入了解它之前,总是会有这种感觉的。我们这篇API入门教程的目的,就是要把API函数的来龙去脉告诉大家,破除对API函数的畏惧,使它成为我们编程的好助手。 大家可

2016-08-22 09:14:43 1456

原创 VeiwPager、Gallery、ViewFlipper区别

ViewFlipper继承ViewAnimator,切换view的时候是有动画效果的,适合做ppt,多界面的程序欢迎引导界面,算是个轻量级的组件,适合展示静态数据,少量数据。 ViewPager继承ViewGroup。看官网描述,这货和Fragment是好搭档,Fragment有自己的生命周期。也就是说ViewPager更适用复杂的视图切换,而且Viewpager有自己的adapt

2016-08-20 15:20:26 723

原创 Activity四种启动模式

模式一:                   Standard:每次激活Activity时都会重新创建一个Activity对象代码部分:                  在Manifest文件中注册:activity android:name=".MainActivity" android:launchMode="standard" />private TextVie

2016-08-05 17:25:49 443

原创 VeiwPager中滑动事件冲突解决方案

滑动事件冲突:1.ViewPager与ListView之间的冲突:解决方法一:         在ViewPager的OnPageChanged事件中添加两句话即可:         private void viewPagerListener() {// TODO Auto-generated method stubviewPager.setOnPageChangeLis

2016-07-24 15:56:19 555

原创 Fragment生命周期

场景演示 : 切换到该Fragment11-29 14:26:35.095: D/AppListFragment(7649): onAttach11-29 14:26:35.095: D/AppListFragment(7649): onCreate11-29 14:26:35.095: D/AppListFragment(7649): onCreateView11-29 14:2

2016-07-22 17:07:47 379

原创 Android 数据库ORMLite用法

步骤:1.配置首先去ORMLite官网下载jar包,对于Android为:ormlite-android-4.48.jar 和 ormlite-core-4.48.jar ;2.创建Bean类有了jar,我们直接新建一个项目为:zhy_ormlite,然后把jar拷贝到libs下。然后新建一个包:com.zhy.zhy_ormlite.bean专门用于存放项目中的Bea

2016-07-21 14:20:12 796

原创 Android中短信发送与接受

短信的发送             两种发送方式:                        一、利用系统的短信发送程序                                1.Intent     发送一个隐式意图                                   Intent    intent=new  Intent(Intent.ACTI

2016-07-21 12:42:04 576

原创 Android应用如何匹配不同手机分辨率

布局适配:             (1)不要使用AbsoluteLayout布局,尽量使用RelativeLayout和LinearLayout;                (2)在使用布局的时候尽量使用权重,可以有效减少死数据的使用,降低适配的工作量。屏幕适配:在AndroidManifest.xml里面添加下面一段,没有这一段自适应就不能实现:          

2016-07-21 09:03:23 570

原创 Android中获取当前的Activity

ActivityManager里面可以获取到当前运行的所有任务,所有进程和所有服务,这是任务管理器的核心。        仔细看getRunningTasks的文档,里面说获取的是系统中"running"的所有task,"running"状态包括已经被系统冻结的task。而且返回的这个列表是按照顺序排列的,也就是说第一个肯定比第二个后运行。        getRunningTasks有个

2016-07-21 08:53:45 961

原创 Android中获取控件的位置

getLocationOnScree:计算该视图在全局坐标系中的x,y值,(注意这个值是要从屏幕顶端算起,也就是索包括了通知栏的高度)//获取在当前屏幕内的绝对坐标getLocationInWindow :计算该视图在它所在的widnow的坐标x,y值,//获取在整个窗口内的绝对坐标 (不是很理解= =、)getLeft , getTop,getBottom,getRigh

2016-07-20 16:12:36 2646

原创 Intent 传递的类型总结

一.Intent传递数据:方法1:           传递:通过intent.putExtra(Key,value)放入数据          接收:通过intent.getExtras取出Bundle,然后用Bandles.getLong,getInt.getBoolean,getString等函数来取出数据方法2:         通过data传递,而data传输的是

2016-07-20 10:34:06 967

原创 注册收件箱监听器时,经常会警告:Exported receiver does not require permission

如下代码:                    >                                                修改后的代码:                    >

2016-07-17 14:51:19 473

原创 经纬度距离计算

方法一:1.创建一个工具类:public class Distance {private static final double EARTH_RADIUS = 6378.137*1000;//地球半径(米)private static double rad(double d){  return d * Math.PI / 180.0;}public stat

2016-07-09 09:30:05 301

原创 Activity、FragmentActivity

Activity生命周期:OnCreat()----OnStart()    ----Onresume()        ----OnPause()            ----OnStop()---------OnRestart()-------OnStart()---                ----OnDestroy()Fragment生命周期:O

2016-07-03 22:20:14 333

原创 将一个布局添加到ListView的头部

将一个布局添加到listView的头部:1.编写此布局2.初始化:listViewHeader=getLayoutInflater().inflate(R.layout.listview_header_layout,lv, false);3.添加:lv.addHeaderView(listViewHeader);与ScollerView对比:在进行数据操作时,此方法

2016-06-30 19:16:10 6045

原创 解析与架构

解析:1.Gson解析一个大括号对应一个内部类一个方括号对应一个集合2.Volley解析步骤:2.1)创建一个请求    1.StringRequest   字符串请求    2.ImageRequest    图片请求    3.ImageLoder      带缓存的图片访问    4.自定义Request    重写请求   2.2)创建一个队

2016-06-30 19:14:55 343

原创 Android开发之“友录”

编写内容:1.通讯录管理1)通讯录查看a.ContactContacts.Contactsb.ContactContacts.RowContactc.ContactContacts.Data2)联系人的添加(调用系统的联系人添加)3)联系人的编辑(调用系统的联系人添加)4)FAQ:删除联系人的信息2.通话记录的管理Calllog.Cal3.拨打电

2016-06-08 21:13:47 323

原创 AIDL通讯

why?广播:实现多线程之间的通信(单向的)Message:实现多线程之间的通信(双向的)ContentProvider:通过URI将数据暴露给访问者(单向的)以上二种实现了多线程通信(Message实现单线程通信),但不属于进程之间的通信,而在Android中定义了进程之间的通信AIDL;AIDL:当多个客户端并发一起访问时,并且需要处理多个线程的问题时,就必须用到AID

2016-06-08 20:52:21 427

原创 Android开发之友录项目层次结构

遵循原则:MVCM: model 模型层V:  View   视图层C: Control控制器编写逻辑:1.通讯录页面a.联系人查看(调用Contacts表中的数据)b.联系人添加(调用系统进行添加)c联系人编写(调用系统进行编写)d.FAQ:联系人的删除2.通话记录的管理页面利用Calllog.Calls在数据库中进行查询3.拨打电话页面4.短

2016-06-08 20:39:26 384

原创 Android中的异步任务

异步任务对象:(AsyncTask)抽象类此对象属于工具类;目的:简化消息模型编写方法:一部分在主线程运行,一部分在工作线程运行用法:构建一个子类对象,继承AsyncTask,重写父类方法线程池:父类接口:Executor子接口:ExecutorService、ScheduledExecutorService(不常用)实现类:ThreadPoolExecutor

2016-05-19 23:18:19 322

原创 Android中的线程

线程同步:构建线程时会用到两个构造方法:Thread和Runnable线程同步:多个线程在共享数据集上互斥与协作1.线程互斥排队执行(需要加锁)2.线程协作在互斥基础上进行通知与等待线程中的三大消息模型:1.工作线程给主线程发消息步骤:a.用消息对象发送消息b.Message,此对象在工作线程中创建c.对消息进行迭代,然后再处理消息(

2016-05-19 23:07:50 279

原创 Android中的数据存储

1.外置SD卡存储:I/O存储(添加访问权限)2.内置SD卡的存储:I/O存储(添加访问权限)3.缓存存储注:缓存存储时,优先选择外置SD卡为存储的位置,存储空间为SD卡空间的1/8或1/16;4.数据存储(SQL)步骤:1)创建或打开数据库2)操作数据库2.1)创建表2.2)数据添加2.3)数据查询2.4)数据修改2.5)数据删除3)关

2016-05-15 17:06:20 262

原创 Android中的动画分类

动画分类:1.补间动画(事件不随位移的改变而改变)1)淡入淡出2)旋转3)平移4)缩放2.帧动画图片的叠加3.属性动画是补间动画所存在漏洞的补充(事件随位移的改变而改变)绘制方式:1.Java代码方式2.xml文件方式

2016-05-15 16:59:36 434

原创 Android中的自定义View与Notification

四中自定义View的场合:1.自定义Toset2.自定义ActionBar3.绘制图形(onDrawn继承View)4.ViewPager与Grideview一起滑动时(onMesure继承View)Notification步骤:1.创建Notification对象2.定义对象的属性3.创建要传递的对象4.创建服务访问系统进行传递

2016-05-15 16:53:09 482

原创 Android中的UI

MENU选项:1.点击菜单(OptionMenu)2.上下文菜单(ContextMenu)3.弹出菜单4.子菜单使用ActionBar(步骤):1.getActionBar2.setActionbar对话框:选项对话框、日历对话框

2016-05-15 16:39:54 293

原创 Java基础、面向对象总结

编程基础1)变量(局部变量,参数变量,实例变量,类变量)2)运算符(算术,关系,逻辑,赋值,条件,位运算)3)语句(顺序语句,分支语句,循环语句)4)函数(概念,定义,场合,调用,重载)5)数组(一维,多维)面向对象1)两大对象(类对象,类的对象(new))2)三大特性(封装,继承,多态)3)两大修饰符(static,final)4)两大抽象(接

2016-05-01 13:50:21 371

原创 Java-Android

Android基础三步走:多看、多思考、多练学习过程的思考套路:(1)What?(是什么?)(2)why?(为什么要用?)(3)when?(在那种场合使用?)(4)how?(怎么去用?)

2016-05-01 13:49:12 330

原创 Java-Android

1.Android 中的核心UI1)Layouts(Common Layout,Adapter Layout)2)InputControls(Buttons,TextFields,Bars)3)InputEvents(onClick,onKey,onTouch,onChecked,...)4)UI Compoments(Menu,ActionBar,Dialog,Notif

2016-05-01 13:37:55 316

原创 Java 中的反射

反射的根源:Class对象获得一个Class对象的三种方法:Class clz=类名.class;Class clz=Class.forName("类的完全限定名");Student   s=new  Student();Class clz=s.getClass;反射类的属性:getFilds();返回超类以及本类中定义的公有的属性构成的对象数组;getFild

2016-04-26 22:40:07 302

空空如也

空空如也

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

TA关注的人

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