8 点石为金

尚未进行身份认证

希望能把自己平时遇到的一些问题写成专题,帮助到在工作中可能也会遇到类似问题的软件开发者,祝愿大家共同进步!

等级
TA的排名 4w+

Android Studio中查看类的继承关系及文件结构

AndroidStudio中在开发有两个很常用的功能:查看类的继承关系和查看类的结构信息查看类的结构信息:在AndroidStudio的左侧有个选项是,名字是"7structure"点击此选项,可以看到当前类中的公共方法,属性,向上的继承的关系,非公开方法,继承类中的方法,匿名类等功能,具体使用时大家可以自己点开每个选项查看或将鼠标悬浮在标签上面看提示信息。打开的快捷键是Alt+7,下面

2017-02-24 20:34:38

解决Error:CreateProcess error=193,1%不是有效的Win32应用程序

一、出现此错误的过程笔记本电脑windows系统,之前安装过AndroidStudio,本次安装换路径了,安装好了后,新建了个工程,发现报错,报错截图如下:开始以为是AndroidStudio版本的问题和Windows不兼容导致的,后面通过查资料不是兼容性问题.。安装的Studio版本是:2.2.3二、解决方法:在File->ProjectStructure.

2017-02-24 18:03:27

安卓-Activity生命周期

一、简述android是使用任务来管理活动的,一个任务就是一组存放在栈中的活动的集合。1.活动有四个状态:1)运行状态:活动位于返回栈的栈顶2)暂停状态:活动不处于栈顶位置,但是可见3)停止状态:活动不处于栈顶位置,且完全不可见4)销毁状态:当一个活动从返回栈中移除2.活动生存周期Activity中定义了7各回调方法onCreate():活动第一次创建时

2017-02-23 18:33:11

安卓-Intent的7大属性介绍

一、简介程序的3个核心组件——Activity、services、广播接收器——是通过intent传递消息的。intent消息对于运行时绑定不同的组件是很方便的,这些组件可以是同一个程序也可以是不同的。一个intent对象,是一个被动的数据结构,它保存了一个操作的抽象描述——或通常是一个广播的实例,一些发生的事情的描述,一个通知。传递intent到不同组件的机制是互不相同的。 intent

2017-02-22 14:39:53

安卓-管理Activity

一、简述当项目中的Activity多了就会涉及到管理的问题,比如:想看下当前已经启动了多少了Activity,可以在随意位置关闭所有的Activity等。如果想实现这个功能,可以自定义一个类用于管理所有的启动的Activity和销毁的Activity。同时需要自定义一个BaseActivity,在这个类中增加启动的Activity和移除Activity等功能,这样当自定义一个Activit

2017-02-22 11:03:17

安卓-获取全局上下文

一、实现获取全局上下文什么情况下需要使用全局上下文,不能通过参数传过来,但是做其他工作又用到这个参数,这种情况下就需要使用全局上下文,一般情况下都是可以通过参数传进去的。比如说封装一个工具类,工具类中需要用到上下文,可以通过参数传进去,也可以在工具类中使用全局上下文。以获取getApplicationContext();这个为例。为了便于管理,将其定义在Application中。总结下使用

2017-02-21 18:04:17

安卓-打印日志及日志工具类使用

一、打印日志介绍安卓系统中提供了打印日志的方式:Log.v(),Log.d(),Log.i(),Log.w(),Log.e() 以上日志级别依次从低到高打印日志的目的是为了方便定位问题和查看关键信息。下面是对各种日志级别的输出介绍: 1、Log.v的输出颜色为黑色的,输出大于或等于VERBOSE日志级别的信息 2、Log.d的输出颜色是黑色的,输出大于

2017-02-21 15:25:36

安卓-Intent传递数据

一、简述Intent可以携带数据,可以携带的常见的数据分为以下几种: intent.putExtra(Stringname,booleanvalue);intent.putExtra(Stringname,bytevalue);intent.putExtra(Stringname,charvalue);

2017-02-21 13:43:45

安卓-启动Activity的两种方式

启动Activity有两种方式:1)startActivity2)startActivityForResult方式1,启动后不关心activity返回的结果方式2,启动后可以接收activity返回的结果,接收结果需要在onActivityResult函数中处理。下面我们来看下这个函数protectedvoidonActivityResult(intrequestCo

2017-02-20 10:06:16

安卓-启动前台服务

为什么要设置前台服务?但是服务的系统优先级还是比较低的,当系统出现内存不足的情况时,就有可能会回收掉正在后台运行的服务。如果你希望服务可以一直保持运行状态,而不会由于系统内存不足的原因导致被回收,就可以考虑使用前台服务。前台服务和普通服务最大的区别就在于,它会一直有一个正在运行的图标在系统的状态栏显示,下拉状态栏后可以看到更加详细的信息,非常类似于通知的效果。当然有时候你也可能不仅仅

2017-02-18 16:17:32

安卓-IntentService使用

有了Service为什么还要有个IntentService呢?原因如下:1)Service默认运行在主线程中,IntentService运行在一个新的线程中2)Service需要主动调用stopSelf()或stopService()服务才可以停止,IntentService运行完后自动停止使用IntentService需要注意2点:1)构造函数中一定要调用父类的有参构造函数

2017-02-18 14:01:54

安卓-绑定服务与解绑服务

为什么要出现绑定服务?普通的服务activity启动后就不管了,这是活动的作用就是启动一个服务或停止一个服务,和服务的关系不够紧密,如果想让活动随时可以控制服务做事情,这时就要用到绑定服务了。注意:通过startService开启的服务,在服务中会执行onStartCommand函数。如果需要做耗时操作,需要在onStartCommand中开启一个新的线程来处理。为什么要在新的线程中处

2017-02-18 11:40:23

安卓-子线程中更新UI的几种常见方法

安卓的子线程中不允许直接更新UI,否则会报错。一般常见的子线程中更新UI的几种方法如下:1)runOnUiThread2)Handler与Message3)View.post(Runnable)4)AsyncTask下面写个demo测试下几种情况,在布局文件中定义5个按钮和一个文本控件,5个按钮中的前4个用于演示前面提到的可以进行更新UI的四种情况,第5个按钮测试在子线程中直

2017-02-17 15:14:26

安卓-启动服务并让服务自己结束

让服务自己结束主要用到一个API就是stopSelf();下面写一个demo来演示下:1)主界面中一个按钮,点击启动服务2)服务中开始服务时开启一个线程执行一个for循环打印日志3)当执行到500时停止服务先看下打印的日志:I/StopService:run:i=499I/StopService:run:i=500I/StopService:onDestr

2017-02-17 11:45:12

安卓-服务中onCreate与onStartCommand的区别

服务生命周期中主要有三个重要的阶段:1)创建服务onCreate2)开始服务onStartCommand3)销毁服务 onDestroy一个服务只会创建一次,销毁一次,但是会开始多次。下面用一个demo来演示下:界面中有三个按钮,一次是启动服务,再次启动服务,结束服务,演示顺序,先点击启动服务按钮,再点击再次启动服务按钮,最后点击结束服务的按钮,通过打印Log来看执行

2017-02-17 10:54:36

安卓-控制EditText的光标的位置

EditText光标的位置的控制,主要是依赖于属性setSelection,传入光标的位置索引即可。下面分三种情况测试:1)设置光标在文字的起始位置2)设置光标在文字的中间位置3)设置光标在文字的末尾位置布局文件activity_edit_text_cursor.xml<LinearLayoutxmlns:android="http://schemas.andr

2017-02-15 10:02:21

安卓-ListView基本使用

今天的目标是使用ListView控件完成一个布局,左边一个图标,右边分为上线两部分:标题和内容;ListView在使用时要考虑内存优化,就是使用ViewHolder(自己定义的一个内部类,存储布局中的控件的索引)适配器使用继承自ArrayAdapter的适配器,也可以继承自BaseAdapter(要多写几个方法)目前虽然还有公司在使用,但是后面大家陆续都会转向RecyclerView,

2017-02-14 15:44:11

安卓-使用layout_weight属性自定义标题栏布局

今天使用android:layout_weight这个属性来实现一个标题栏的布局。线上效果图:布局文件如下:<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/id_parent"android:

2017-02-10 11:32:10

安卓-控制控件的宽度占屏幕的一半且水平居中显示

今天说下如何让一个控件的宽度显示时占屏幕的一般宽度,且水平居中显示。这里抛砖引玉,给出三种实现方案:1)线性布局:利用属性android:weightSum和android:layout_weight来实现2)线性布局:利用属性android:layout_weight和隐藏无关控件的方式来实现3)线性布局:通过布局文件和代码动态修改控件的布局中地方宽度参数属性下面分别给出测试代码

2017-02-10 11:03:37

安卓-自定义标题栏组件

这里说的是自定义标题栏组件,通过设置组件的部分属性,实现标题栏的不同的展示样式,先上效果图:                              自定义标题栏组件不同效果展示图自定义组件步骤:1)继承自View或容器布局2)xml中引入自定义控件3)代码中设置属性或实现接口直接上代码:TitleV

2017-02-06 15:46:28

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!