Android
文章平均质量分 59
colorfulshark
目前在研究嵌入式Linux,希望能结识志同道合的朋友
展开
-
【Android】Service详解
Service 是一个可以在后台执行长时间运行操作而不提供用户界面的应用组件。服务可由其他应用组件启动,而且即使用户切换到其他应用,服务仍将在后台继续运行。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。服务基本上分为两种形式:启动当应用组件(如 Activit翻译 2017-04-29 13:04:08 · 426 阅读 · 0 评论 -
Android 无线调试
相信大家在开发Android项目的时候都会选择真机调试,但是调试的时候需要插根数据线,经常一碰就断了,而且如果遇到来电话也很不方便,甚至减少usb口的寿命,这时候adb工具为我们提供了一个很方便的无线调试功能,下面来看一下具体的用法。1.使用cmd控制台进入android-sdk/platform-tools,或者在系统环境变量中加入该路径,插上usb线,打开手机的usb调试,输入以下命令原创 2015-09-26 23:03:59 · 840 阅读 · 0 评论 -
android中的回调
回调这种思想大家应该都用过,只是很多人不知道那是回调的一种罢了,前几天整理了一下自己对于回调的理解,就顺便把自己的一些想法整理到博客中。 让我们从一个小故事开始。某天,我打电话向你请教问题,当然是个难题,你一时想不出解决方法,我又不能拿着电话在那里傻等,于是我们约定:等你想出办法后打手机通知我,这样,我就挂掉电话办其它事情去了。过了XX分钟,我的手机响了,你兴高采烈的说问题转载 2015-09-25 10:45:38 · 456 阅读 · 0 评论 -
Android中关于颜色的使用
在开发Android颜色的时候,我们经常需要使用各种各样的颜色值,对于简单的颜色,可以使用系统提供的,复杂的颜色则需要则需要自定义颜色,下面讨论一下每种情况的使用方法。1.系统颜色android内置的颜色,比如系统资源中定义的颜色,有以下几个:BLACK(黑色),BLUE(蓝色),CYAN(青色),GRAY(灰色),GREEN(绿色),RED(红色),WRITE(白色),YELLOW(原创 2015-09-26 20:08:56 · 990 阅读 · 0 评论 -
Android can not perform this action after onSaveInstanceState 问题解决
今天遇到了一个这样的问题,我写了一个MainActivity,里面有一个NavigationDrawer,其中的内容自然是使用的Fragment,当我在MainActivity上弹出一个Dialog样式的Activity并且这个Activity将要关闭的时候,程序会Crash掉,报出一个 java.lang.IllegalStateException: Can not perform this原创 2015-09-29 11:24:57 · 5475 阅读 · 3 评论 -
Android savedInstanceState的使用
写过Android程序的都知道Activity中有一个名称叫onCreate的方法。该方法是在Activity创建时被系统调用,是一个Activity生命周期的开始。可是有一点容易被忽视,就是onCreate方法的参数savedInstanceState。因为在一般的程序开发中,很少用到这个参数。onCreate方法的完整定义如下:public void onCreate(Bundle原创 2015-09-28 10:22:40 · 2504 阅读 · 0 评论 -
【Android】解决酷派F2输出Log信息缺失问题
使用一款型号为酷派大神F2的老手机做Android应用开发的真机调试,在使用Log输出调试信息的时候,只要error级别的信息才能输出,官方给出的说法是需要手动设置系统的调试信息输出级别打开拨号界面,输入以下代码进入工程模式*20121220#选择日志输出等级选择Java log level,然后选择LOGV即可原创 2017-04-26 13:34:29 · 630 阅读 · 0 评论 -
【Android】Activity
Activity简介 Activity通常展现为一个可视化的用户界面,是Android程序与用户交互的窗口,一个Activity占据当前的窗口,响应所有窗口事件,具备有控件,菜单等界面元素。从内部逻辑来看,Activity需要为了保持各个界面状态,需要做很多持久化的事情,还需要妥善管理生命周期,和一些转跳逻辑。注意: 1. 首先一个应用程序可以有一个或者多个Activity的活动页面。 2原创 2017-04-26 21:32:16 · 453 阅读 · 0 评论 -
【Android】为App所在的进程指定网络
最近开发一个项目,要求一个安卓设备同时接入两个无线网络。如果直接使用两块无线网卡,在驱动和应用层以及安卓框架中都会遇到问题,因此,选择了一款同时具备有线网卡和无线网卡的安卓开发板,然后再使用一块OpenWrt核心板将有线网络转换成无线网络,并实现透传。开发App的时候,发现安卓会为App选择一个默认优先级最高的网络,因此同时连接有线和无线时,应用的数据默认不走有线网口,下面介绍一种解决方案。代码i原创 2017-11-02 20:44:59 · 5139 阅读 · 2 评论 -
【Linux内核驱动】搭建Android驱动交叉编译环境
开发嵌入式Linux驱动模块的时候,搭建交叉编译环境是至关重要的一环,它决定了代码可以在哪些设备上运行。在开发Android驱动的时候,同样需要搭建交叉编译环境,Android使用一套独立的开发套件——NDK。什么是NDKNDK是一系列工具的集合。NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。N原创 2017-12-06 13:56:13 · 1278 阅读 · 0 评论 -
【Android】NDK的使用常见问题
Android提供了NDK工具用以编译能够Android设备上运行的C/C++程序,本质上就是交叉编译,下面给出几篇关于NDK相关的文章。教程生成设备专用的toolchain在 ${NDKROOT}/build/tools 下有两个脚本:make_standalone_toolchain.py 和 make-standalone-toolchain.sh,这两个脚本的功...原创 2017-12-27 13:22:06 · 2115 阅读 · 1 评论 -
android support 支持包 使用
在使用Eclipse编译时,当我们为了使自己的应用能够兼容更低版本的SDK的时候,就需要使用的谷歌为我们提供的support系列支持包。 谷歌这样做的目的就是能够使安卓SDK永远能向下兼容,并且让程序员不用去更多的纠结版本适应问题而专心于自己代码功能的实现。 (简直业界良心啊!) 然而在我们引用支持包的时候,经常会被下面的异常困扰: 下面我分享一下我的解决思路:1.原创 2015-09-06 13:27:32 · 944 阅读 · 0 评论 -
可展开列表组件ExpandableListView解析
开发Android项目的时候经常会用到ExpandableListView,它是ListView的子类,因此使用起来和ListView差不多,和其匹配的Adapter有BaseExpandableListAdapter,SimpleExpandableListAdapter和SimpleCursorTreeAdapter,这里,我只说明一下继承BaseExpandableListAdapter的用原创 2015-09-29 21:45:45 · 611 阅读 · 0 评论 -
Android Animation 动画解析
Animations一、Animations介绍Animations是一个实现android UI界面动画效果的API,Animations提供了一系列的动画效果,可以进行旋转、缩放、淡入淡出等,这些效果可以应用在绝大多数的控件中。 二、Animations的分类Animations从总体上可以分为两大类:1.TweenedAnimations:该类Animations提供了旋转载 2015-09-30 17:42:49 · 719 阅读 · 0 评论 -
【Android】Activity详解
Activity 是一个应用组件,用户可与其提供的屏幕进行交互,以执行拨打电话、拍摄照片、发送电子邮件或查看地图等操作。 每个 Activity 都会获得一个用于绘制其用户界面的窗口。窗口通常会充满屏幕,但也可小于屏幕并浮动在其他窗口之上。一个应用通常由多个彼此松散联系的 Activity 组成。 一般会指定应用中的某个 Activity 为“主”Activity,即首次启动应用时呈现给用户的那个翻译 2017-04-29 15:10:18 · 530 阅读 · 0 评论 -
【Android】Menu详解
菜单是许多应用类型中常见的用户界面组件。要提供熟悉而一致的用户体验,您应使用 Menu API 呈现 Activity 中的用户操作和其他选项。从 Android 3.0(API 级别 11)开始,采用 Android 技术的设备不必再提供一个专用“菜单”按钮。随着这种改变,Android 应用需摆脱对包含 6 个项目的传统菜单面板的依赖,取而代之的是要提供一个应用栏来呈现常见的用户操作。尽管某些菜翻译 2017-04-28 22:05:19 · 3218 阅读 · 1 评论 -
【Android】Broadcasts详解
Android应用程序可以发送广播,也可以接收Android系统或者其它应用发出的广播,这跟发布-订阅设计模式很相似。当一些受到关心的事件发生后,广播会被自动发送。举例来说,当一些系统事件(如开机,设备开始充电等)发生,Android系统会发送广播。应用程序也可以发送自定义的广播,比如当某个应用关注的事件(如数据更新等)发生后可以发送广播提醒它。系统广播当一系列系统事件发生的时候,系统会自动发送广播翻译 2017-04-29 20:48:48 · 705 阅读 · 0 评论 -
【Android】进程和线程详解
当某个应用组件启动且该应用没有运行其他任何组件时,Android 系统会使用单个执行线程为应用启动新的 Linux 进程。默认情况下,同一应用的所有组件在相同的进程和线程(称为“主”线程)中运行。 如果某个应用组件启动且该应用已存在进程(因为存在该应用的其他组件),则该组件会在此进程内启动并使用相同的执行线程。 但是,您可以安排应用中的其他组件在单独的进程中运行,并为任何进程创建额外的线程。本文档介翻译 2017-05-02 19:28:35 · 557 阅读 · 0 评论 -
【Android】存储选项详解
Android 为您提供了多种选项来保存永久性应用数据。您所选择的解决方案取决于您的特定需求,例如数据应该是应用的私有数据,还是可供其他应用(和用户)访问,以及您的数据需要多少空间等。您的数据存储选项如下:共享首选项在键值对中存储私有原始数据。内部存储在设备内存中存储私有数据。外部存储在共享的外部存储中存储公共数据。SQLite 数据库在私有数据库中存储结构化数据。网络连接在网络中使用您翻译 2017-05-04 19:23:51 · 614 阅读 · 0 评论 -
【Android】ContentProvider详解(一)
内容提供程序管理对中央数据存储区的访问。提供程序是 Android 应用的一部分,通常提供自己的 UI 来使用数据。 但是,内容提供程序主要旨在供其他应用使用,这些应用使用提供程序客户端对象来访问提供程序。 提供程序与提供程序客户端共同提供一致的标准数据界面,该界面还可处理跨进程通信并保护数据访问的安全性。本主题介绍了以下基础知识:内容提供程序的工作方式。 用于从内容提供程序检索数据的 API。翻译 2017-05-05 20:04:12 · 455 阅读 · 0 评论 -
【Android】ContentProvider详解(二)
内容提供程序管理对中央数据存储区的访问。您将提供程序作为 Android 应用中的一个或多个类(连同清单文件中的元素)实现。 其中一个类会实现子类 ContentProvider,即您的提供程序与其他应用之间的接口。 尽管内容提供程序旨在向其他应用提供数据,但您的应用中必定有这样一些 Activity,它们允许用户查询和修改由提供程序管理的数据。本主题的其余部分列出了开发内容提供程序的基本步骤和需要翻译 2017-05-05 21:41:00 · 446 阅读 · 0 评论 -
【Android】简介
Android简介发展简史Android (安卓),是一个以Linux基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由Google成立的Open Handset Alliance (OHA,幵放手持设备联盟)持续领导与开发中。Android已发布的最新版本为Android 5.0(Lollipop)。Android系统最初由安迪鲁宾(Andy Rubin)等人开发制,最初幵发这个系统的目的原创 2017-04-25 18:51:07 · 738 阅读 · 0 评论 -
Android AlarmManager 锁屏显示闹钟
锁屏状态下点亮屏幕,并弹出闹钟提示信息,可以在锁屏界面上取消闹钟;使用广播接收闹钟定时:下面是例子里的核心代码如下android 设置定时闹钟(包括提醒一次和循环提醒):Intent intent = new Intent(MainActivity.this,MyAlarmBroadCast.class); /** * co原创 2015-10-08 14:25:12 · 2958 阅读 · 0 评论 -
关于Handler在异步更新UI作用的一些理解
最近在做项目的时候,出现了一个问题,我开发的应用使用的是一个Naviagtion Drawer进行页面转换,如图但是在测试的过程中出现了一个很怪的问题,每次我进行Fragment替换的时候,Drawer总是在收回的时候卡一下,刷新出的Fragment也会很自觉的卡一下,而且即使在高端机上也有这个现象,只不过比较轻微,于是我就去跟踪代码,发现我是这样写的1.点击某一个选项2.Frag原创 2015-09-30 21:52:49 · 677 阅读 · 0 评论 -
Android Handler 用法解析
1.Handler是什么?Handler是Android提供给我们的一套消息处理机制,主要用来进行异步消息处理和UI更新。2.为什么要使用Handler?因为在非UI线程中一般是无法直接更新UI的,当遇到复杂任务的时候,我们不可能在UI线程中等待任务完成,那会造成线程堵塞,另外,通过Handler也可以实现一些特殊的效果,如在不堵塞主线程的情况下定时更新UI。3.Handler怎么原创 2015-09-24 20:23:42 · 657 阅读 · 0 评论 -
【Android】Phoenix OS(凤凰系统)启用root权限
最新版(2.5.9.64)的Phoenix OS将开发者选项中的root权限开关去掉了,本篇教程的来源是XDA论坛的[Root] How to root Phoenix OS without replacing system.img实现原理跟Android手机的卡刷一样,下载super su的卡刷包,但是因为电脑并不能真的卡刷,所以需要手动执行卡刷包中的脚本。并且Phoenix...原创 2018-03-03 20:38:46 · 22729 阅读 · 0 评论