自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

写代码的林克

唯不争,故天下莫能与之争

  • 博客(29)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android数据存储(二)----- SharedPreferences存储

SharePreferences是使用键值对的方式来存储数据的,而且SharePreferences还支持多种不同的数据类型存储。 一、获得SharePreferences对象(三种方法)1 . Context类中的getSharePreferences()方法 该方法接受两个参数,第一个参数用来指定SharePreferences文件的名称,如果指定的文件不存在则会创建一个。第二个参数是

2016-06-25 19:32:46 760

原创 Android中的数据存储(一)----- 文件存储

Android中的文件存储是最基本的一种数据存储方式,它不对存储的数据进行任何的格式化处理,所有的数据都是原封不动地保存到文件当中,适合存储一些简单的文本数据或二进制数据。 Context类中提供了openFileOutput()方法和openFileInput()方法,用于将数据存储到指定的文件夹和从指定文件读取数据。 一、openFileOutput()方法该方法接受两个参数,第一个参数

2016-06-25 15:33:17 897

原创 AndroidStudio初始化adb失败,无法显示Genymotion模拟器设备解决方法

今天,AndroidStudio老是显示不了我启动的Genymotion的模拟器,最后竟然插上真机都无法显示。最后发现原因竟然是Genymotion模拟器导致的。 原因是我们在点击AndroidStudio的运行按钮的时候,会默认启动我们AndroidSDK中的adb(文件目录在SDK目录下的platform-tools文件夹下 ),但是如果我们在这之前启动了Genymotion模拟器,Geny

2016-06-25 13:33:33 5727 1

原创 Android如何在广播接收器中启动活动和弹出对话框

1 . 在onReceiver()方法中启动活动,必须添加这句 intent1.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) 2 . 在onReceiver()中弹出对话框(警告框),必须设置对话框的类型,并添加相应权限。 alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE

2016-06-24 22:26:55 3997 4

原创 Android中的广播机制(二)----- 发送广播

这一篇中我们将介绍发送标准广播,有序广播和本地广播的使用。

2016-06-24 17:27:19 985

原创 Android中的广播机制(一)----- 接收广播

Android中的广播主要包括两种类型:标准广播和有序广播。 标准广播标准广播是一种完全异步执行的广播。在广播发出之后,所有广播接收器几乎是在同一时刻收到广播消息,他们之间没有任何先后顺序。这种广播的效率比较高,但同时也意味着这种广播无法被截断。 有序广播有序广播是一种同步执行的广播,在广播发出去之后,同一时刻只会有一个广播接收器收到这条消息,当这个广播接收器中的逻辑执行完毕后,广播会继

2016-06-24 16:03:16 1452

原创 碎片的生命周期

一、碎片的状态1 . 运行状态 当一个碎片是可见的,并且它所关联的活动正处于 运行状态时,该碎片处于运行状态。2 . 暂停状态 由于另一个未占满屏幕的活动被添加到栈顶时,原来的活动便处于暂停状态,它所关联的可见碎片便会进入暂停状态。3 . 停止状态 当一个活动处于停止状态时,与它相关联的碎片便会进入停止状态。或者通过调用FragmentTransaction的remove()、rep

2016-06-23 21:30:22 1221

原创 活动的生命周期

一、活动状态 每个活动在其生命周期中最多可能会有四种状态1 . 运行状态 当一个活动处于返回栈的栈顶时,此时活动处于运行状态,系统最不愿意回收的就是这种状态的活动。2 . 暂停状态 当一个活动不再处于栈顶的位置,但仍然可见时,这种活动就进入了暂停状态,比如一个显示一个对话框,对话框并不会占满整个屏幕,处于对话框下的活动仍然是可见的。处于暂停状态的活动仍然是安全存活着的,系统也不愿意

2016-06-23 20:43:58 1138

原创 Android使用transaction.addToBackStack(null)加入返回栈无效

最近在看郭大神《第一行代码》上的碎片介绍,照着书上敲了transaction.addToBackStack(null)将事务加入返回栈,可是发现,点返回还是直接退出,不会返回到上一个碎片,Google半天中呼吁找到答案。先放上我原来的代码public class MainActivity extends AppCompatActivity implements View.OnClickListene

2016-06-21 22:11:10 7546 5

原创 动态添加Fragment的步骤

Fragment是一种可以嵌入Activity中的UI片段,我们可以通过以下几步,实现Fragment的动态添加。 1、创建待添加的碎片实例 2、在活动中直接调用getFragmentManager()方法获取到FragmentManager 3、 通过调用beginTransaction()方法开启一个事务 4、向容器内加入碎片,一般使用replace()方法实现,需要传入容器的id和待

2016-06-21 21:37:27 1586

原创 Android中ListView的使用(三)----- 提升ListView运行效率

在上一篇在,我们虽然实现了ListView的显示,但是,它的运行效率是极低的由于数据较少,看不出差别,当数据量较大,或者ListView快速滚动时,FruitAdapter中的getView()每次都将布局重新加载一遍,这将会变成ListView性能的瓶颈,下面的内容将会修改优化上一篇中的代码。 在getView()方法中,有一个convertView参数,这个参数用于将之前加载好的布局进行缓存

2016-06-18 21:14:07 666

原创 Android中ListView的使用(二)----- 定制ListView的界面

上一篇中我们的ListView中只是简单的显示了一段文本,这一篇,将通过定制ListView的子项的样式来显示更丰富的内容。

2016-06-18 20:54:19 1505

原创 Android中ListView的使用(一)----- 简单填充数据

在Android开发中,ListView是我们最常用但也是最难用的控件,这一篇将介绍ListView的最简单用法。 一、在布局文件中加入LIstView控件。新建activity_my_list_view.xml文件,代码如下 activity_my_list_view.xml文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xml

2016-06-18 19:07:53 6408

原创 requestWindowFeature(Window.FEATURE_NO_TITLE)无效解决方法

今天在《第一行代码》上学习做自定义标题栏,需要将系统自带的标题栏隐藏掉,使用自定义的标题栏,结果发现,requestWindowFeature(Window.FEATURE_NO_TITLE); 这句代码无效,标题栏无法隐藏,可我以前都可以隐藏啊,今天怎么不可以了,最终发现是Activity的继承问题,我的代码是这样的public class TitlebarActivity extends App

2016-06-18 17:28:03 27139 18

原创 Java反射(六)----- 通过反射了解集合泛型的本质

java中的泛型是JDK5中引入的新特性,允许在定义类和接口的时候使用类型参数,声明的类型参数在使用时用具体的类型来替换,泛型最主要是应用在集合类框架中。下面我们通过反射来进一步理解泛型的本质。 先放上示例代码 MethodDemo4.java

2016-06-17 20:01:29 781

原创 Java反射(五)----- 方法的反射

如何获取某个方法 方法的名称和方法的参数列表才能唯一决定某个方法 方法的反射操作 method.invoke(对象,参数列表) 方法反射操作的步骤:获得对象 A a1 = new A();获得对象的类的类类型 Class c1 = a1.getClass();获取方法 //Method m1 = c1.getMethod(“print”, new Class[

2016-06-17 17:46:17 617

原创 Java反射(四)----- 获取成员变量和构造函数信息

上一篇中,我们主要利用反射来获取成员方法,这一篇,继续完善上一篇中封装的类,用来获取成员变量和构造函数,代码如下: ClassUtil.java文件代码import java.lang.reflect.Constructor;import java.lang.reflect.Field;import java.lang.reflect.Method;public class ClassUt

2016-06-17 16:32:15 978

原创 Java反射(三)----- 获取方法信息

今天主要学习java类的几个基本方法及Class类的API操作 1. 首先,我们新建ClassDemo2.java文件,获取一些基本数据类型和void的类类型,然后再利用方法getName和getSimpleName()类获取类的类类型,代码如下:package com.imooc.reflect;public class ClassDemo2 { public static void

2016-06-17 10:49:30 514

原创 Java反射(二)----- 动态加载类

在java中,Class.forName(“类的全名”)不仅代表了类的类类型,还代表了动态加载类 注:编译时刻加载啊类是静态加载类、运行时刻加载类是动态加载类 现在我们通过一个简单地例子来理解静态加载和动态加载。新建一个文件夹,命名随意,我命名为reflect,用文本编辑器(记事本或其他,我使用sublime)在其中创建一个java文件,文件中写入如下代码 class Office{

2016-06-16 19:20:50 595

原创 Java反射(一)----- Class类的使用

在java中,任何一个类都是Clas类的实例对象,这个实例对象有三种表达方式 示例代码如下package com.imooc.reflect;public class ClassDemo1 { public static void main(String[] args){ //Foo的实例对象如何表示 Foo foo1 = new Foo();

2016-06-16 18:58:50 648

原创 Android中Activity的启动模式

1、standard模式 这是活动默认的启动模式,特点是:每启动一个新的活动,就会在返回栈中入栈,并处于栈顶的位置,系统不会在乎某个活动是否已经在返回栈中存在每次启动都会创建该活动的一个新的实例2、singleTop模式 特点如下:在启动活动时如果发现返回栈的栈顶已经是该活动,就会直接使用,不会再创建新的活动实例。3、singleTask模式 特点如下:每次启动活动时都会检查返回栈中

2016-06-15 22:29:46 624

原创 Android中Intent介绍

Android中Intent主要分为显式Intent和隐式Intent,今天会主要讲隐式Intent 一、显式Intent 最常用的就是下面这种形式Intent intent = new Intent(FirstActivity.this, Second.class);startActivity(intent);二、隐式Intent 这种Intent方式主要是通过action和categor

2016-06-15 20:59:55 819

原创 Android简单好用的日志工具---Logger

AndroidStudio自使用以来就一直感觉不错,但它自带的logcat却也是无力吐槽,看下图,实在是不方便查看。 今天给大家推荐一款好用的日志工具Logger,先上效果图 这只是简单的演示,下面先给大家说说怎么在项目中使用吧(这个项目是开源的,放上GitHub地址:Logger开源地址) 一、配置项目的gradle文件 在项目的build.gradle文件中配置如下,加入蓝色下划线内

2016-06-15 11:25:35 1430

原创 一个Android项目中各目录介绍

对于一个Android项目,一般有如下几个文件夹:src目录 该目录是放我们所有的java代码的地方,里面都是一些.java文件 gen目录 该目录里面的内容都是自动生成的,主要有一个R.java文件,里面存储的是你在项目中添加的资源所对应的id,千万不要手动去修改 assets目录 该目录主要放置一些随程序一起打包的文件,在 程序运行时可以动态读取里面的内容,或者是程序中用到了W

2016-06-15 10:33:11 3699

原创 百度地图导航Android6.0初始化失败解决方法

自己开发的一个应用中用到了百度地图导航,刚开始开发是使用Android4.4做测试,一切正常,有一天用Android6.0手机跑了一下,提示导航初始化失败。赶紧下载官方的Demo看了一波,Android6.0可以啊,为什么就我的项目不可以。最终发现原来是build.gradle中有差异,在app的build.gradle文件中defaultConfig中的targetSdkVersion是18,如下

2016-06-13 18:24:42 2950 2

原创 2016-06-11

从今天起,专心做自己的技术,因为梦想还在,只是以前暂时迷失了。 今天是个重要的日子,加油↖(^ω^)↗静下心来做好自己的技术

2016-06-11 20:44:30 534

原创 Linux基础---指定运行级别

0 – 关机1 – 单用户2 – 多用户状态没有网络服务3 – 多用户状态有网络服务4 – 系统未使用保留给用户5 – 图形界面6 – 系统重启修改默认的运行级别:/etc/inittab的id:5:initdefault这一行中的数字即为运行级别。 不可将运行级别指定为6,否则系统将不断重启

2016-06-09 17:46:28 658

原创 Android实现简单地APP欢迎页面

现在的APP一般都会在应用启动时有一个欢迎界面,这种欢迎界面一般有两种情况,一种用来在应用启动时在后台检测网络状态,亦或者是加载网络数据等一些耗时操作,比如QQ、微信。还有一种是在启动页方式自己的品牌标志,一般为Logo,例如淘宝。今天我将通过简单地代码来实现这两种效果。 1、在后台加载网络数据,运行一些耗时的任务,代码如下: WelcomeActivity.java文件代码public c

2016-06-09 17:34:45 2724 2

原创 Android实现页面悬浮显示

最近需要用Android做一个点击ListView的item可以悬浮显示一个二维码的效果,用Google搜了一下,发现尽然如此简单,效果大概是这样 下面是具体的代码实现: 1、先定义一个style,在style.xml文件中的代码如下:<style name="Theme.Transparent" parent="android:Theme.Dialog"> <item nam

2016-06-07 14:16:50 1824

free video to gif converter(mp4转gif工具)

该工具是将MP4录屏视频方便转为gif动画的得力工具

2016-10-28

Genymotion-ARM-Translation.zip

Genymotion-ARM-Translation.zip,可以解决Genymotion虚拟机不能运行RAM结构的APP的问题

2016-05-24

空空如也

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

TA关注的人

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