自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C语言中数组默认值定义

C语言中,数组默认定义如下写法,运行结果为,从中可以看出默认是false。arr[0] = 1.arr[1] = 0.arr[2] = 0.arr[3] = 0.testint main(void) { bool tmp[4] = {true}; for(int i = 0; i < 4; i++){ printf("arr[%d] =...

2020-04-21 16:49:34 3238

原创 系统声音事件处理

备忘录:系统声音加减弹出对话框需要做其他处理,定位代码到:systemui/volume/Events.java       writeEvent方法。 private static final String[] EVENT_TAGS = {58 "show_dialog",59 "dismiss_dialog",60 ...

2018-12-10 11:32:01 677

原创 Android TV 第一个APP

Android TV APP第一次开发遇到的坑,大神请绕道。首先创建时选择TV点击next,我个人选择的是第一个,Add No Activity,第二个会产生很多文件,包括Activity和Fragment。点击finish就可以创建,需要自己创建MainActivity和main layout。敲代码时可能不会有提示,此时只需要做如下操作就行:去掉AS的省电模式:

2017-08-21 18:39:59 922

原创 如何在service中显示Dialog

Activity中显示dialog:Dialog dialog = new Dialog(Service.this);dialog.setTitle("Network error!");dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_DIALOG);dialog.show();在service中按照上

2017-08-17 16:47:15 563

原创 am 命令给activity传值及activity 获取

am 传入值最简单直接的方式: am start  -n packagename/.ActivityName  -d  "string"activity获取:getIntent().getDataString(); 如此简单,自己花了一个小时。。。

2017-01-09 17:49:30 1347

原创 android中解析text配置文件

Android中文件解析有xml解析,json解析等。这里要说的是解析txt配置文件,返回JavaBean对象。有一点是,配置文件每一行有一条数据,有些数据可能并不是我们所需要的,每组数据里面包含的元素不一定相同,而且取出来的数据也得符合要求。先看JavaBean:public class UpgradeInfo { public String productID; public

2016-12-30 15:25:02 446

原创 遇到问题怎么办

遇到问题,不要慌张,冷静下来,一步步解决。认真仔细,终会解决的。

2016-12-23 09:39:40 434

原创 Android中使用WebView全屏播放视频时home键不起作用的问题解决

最近几天客户有个需求:无论在什么情况下,按home键都要回到app的首页,其他情况都已经实现,但在Webview中全屏播放视频时,按home键回到app首页。这个问题困扰我很长时间,因为home键是系统按键,app中压根拦截不到home键的事件,所以没法处理。客户需求又不得不做,因此查看Browser++源码发现,全屏播放时在onShowCustomView()方法中传进来一个View,记录此时的

2016-12-22 11:15:35 1102

原创 通过包名获取apk安装路径

在apk中获取自身安装路径:getPackageResourcePath();在apk中获取其他已知包名apk的安装路径:getPackageManager().getApplicationInfo(packageName, 0).sourceDir;主要查看PackageManager.java和ApplicationInfo.java这两个文件即可。

2016-11-10 17:19:58 8527

原创 Android系统预装第三方apk

对于android系统预装第三方apk,分两种情况:一、不包含so库的简单apk:完全可以预装到system/app目录下(也就是系统app),运行时不会有找不到so库的错误;二、包含so库的apk:如果按照普通的apk一样预装到system/app目录(因为不做任何处理,一般都会预装到这个目录),则会报错:java.lang.UnsatisfiedLinkError: Cou

2016-11-02 19:15:31 7333

原创 Android拓展js接口方法

Android拓展js接口方法:1、在webview中:webView.getSettings().setJavaScriptEnabled(true);    webView.addJavascriptInterface(new JsToJava(), "AVPlayer");//此处AVPlayer为js调用时使用的名称。2、JsToJava类中:@android.webk

2016-09-01 19:23:34 473

转载 Source Insight常用设置和快捷键大全(最全)

今天发现一篇非常棒的博客和大家分享,关于Source Insight的常用设置及快捷键大全,真的非常全!!原文地址:http://www.cnblogs.com/bluestorm/archive/2012/10/28/2743792.html1.括号配对高亮:“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容( 2.让{ 和 } 不缩进:

2016-08-30 11:01:20 468

原创 Android开机动画制作

1.创建desc.txt文件;2.设置desc.txt的内容:    1920 1080 25 ---------------------1920x1080是需要显示到屏幕的像素宽高,25为每秒显示多少帧(也就是多少张);   p 1 0 part0     ---------------------p标识还没搞太懂,1表示只显示一次,0表示两个图片显示的时间间隔为0,part0是

2016-08-10 17:38:30 375

转载 Android定制及替换launcher

替换Android桌面的相关问题:1、想将home screen换成自己写的activity,该如何实现?在 你要设置为home screen的那个activity的androidManifest.xml中的标签中加上这几句 话运行后,重启模拟器会弹出一个选择进入哪个界面的对话框2、怎样将系统默认的home screen删除?重新编译launcher源码,去掉配

2016-07-26 15:02:58 2352

转载 Activity生命周期详解

子曰:溫故而知新,可以為師矣。《論語》学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精髓。近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下。熟悉javaEE的朋友们都了解serv

2016-06-28 18:47:24 354

原创 Android开发中关于“invalid symbol”的错误

Android开发中,有时会提示关于“ invalid symbol”这个的错误,比如:error: invalid symbol: 'switch',代码如下:        android:id="@+id/switch"        android:layout_width="wrap_content"        android:layout_height="w

2016-06-13 14:47:43 2899

转载 CharSequence的getText()与String的getString()区别

曾经在学习中碰见两种获取常量的方式:        CharSequence chrs = getText(R.string.demo);        String str = getString(R.string.demo);        这两种方式有什么不同呢?一定要搞明白,开始实验:        实验一:strings

2016-06-03 09:41:48 698

转载 Android 开发中Parcel存储类型和数据容器

在android中使用Parcel(存储基本数据类型和引用数据类型的容器)通过IBinder来绑定,这种方法的作用是让数据在进程间传递数据,Parcel定位就是轻量级的高效的对象序列化和反序列化机制。在Framework中有parcel类,源码路径是:Frameworks/base/core/java/android/os/Parcel.java典型的源码片断如下:

2016-05-18 17:41:13 1467

原创 Android源码编译和APP编译步骤

对不同版本进行编译:1、source build/envsetup.sh;2、lunch (根据不同版本进行选择);3、查看mybuilds.sh(双系统需要查看mybuildd.sh),将不需要进行编译的版本注释或者删除,需要编译的版本放开或者添加;4、./mybuilds.sh(双版本则需要执行./mybuildd.sh)。对APP进行编译:前两步同上;

2016-05-17 09:28:54 4305

原创 Android API中被@hide注释的方法引用报错解决

将源码进行编译,编译结束后,将classes.jar文件作为user library添加到项目中。class.jar文件的位置:out\target\common\obj\JAVA_LIBRARIES\frameworks_intermediates;具体操作:1、将class.jar文件拷贝到本地;2、右击项目-->Build Path --> Add Libraries -->

2016-05-06 12:08:33 1154

转载 Android Handler、Message完全解析,带你从源码的角度彻底理解

我们都知道,AndroidUI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一个Message对象,然后借助Handler发送出去,之后在Handler的handleMessage()方法中获得刚才发送的Message对象,然后在这里进行UI操作就不会再出现崩溃了。这种处理方式被称为异步消

2016-05-04 19:05:35 393

转载 【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析

一. MediaPlayer 状态机 介绍Android MediaPlayer 状态即图例 : 1. Idle (闲置) 状态 和 End (结束) 状态MediaPlayer 对象声明周期 : 从 Idle 到 End 状态就是 MediaPlayer 整个生命周期;-- 生命周

2016-04-25 12:12:39 767

转载 六款值得推荐的android(安卓)开源框架简介

1、volley项目地址 https://github.com/smanikandan14/Volley-demo(1) JSON,图像等的异步下载;(2) 网络请求的排序(scheduling)(3) 网络请求的优先级处理(4) 缓存(5) 多级别取消请求(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)2、andro

2016-04-18 18:21:54 299

转载 Android中的Parcel

Parcel,翻译过来是“打包”的意思。打包干什么呢?是为了序列化。    如果要在进程之间传递一个整数,很简单,直接传就是行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内存中,再传递(新手可能问:为啥不直接把字符串的引用传过去呢?学过C/C++的地球人都知道:进程有自己的内存地址空间,一个进程中的1000地址可能在另一个进程中是100000,j

2016-04-13 18:19:55 321

转载 Android开发之Intent.Action

本文介绍Android中Intent的各种常见作用。 1 Intent.ACTION_MAINString: android.intent.action.MAIN标识Activity为一个程序的开始。比较常用。Input:nothingOutput:nothing  activity android:name=".Main

2016-04-06 16:26:13 284

转载 Android KeyCode列表

KEYCODE列表电话键KEYCODE_CALL拨号键5KEYCODE_ENDCALL挂机键6KEYCODE_HOME按键Home3KEYCODE_MENU菜单键82KEYCODE_BACK返回键4

2016-03-28 10:10:47 415

转载 linux历史命令查找快捷方式

一、历史命令搜索操作快捷键: [Ctrl + r], [Ctrl + p], [Ctrl + n]在终端中按捉 [Ctrl] 键的同时 [r] 键,出现提示:(reverse-i-search), 此时你尝试一下输入你以前输入过的命令,当你每输入一个字符的时候,终端都会滚动显示你的历史命令。 当显示到你想找的合适的历史命令的时候,直接 [Enter],就执行了历史命令。另外, [Ctrl +

2016-03-24 17:18:31 4703 1

转载 grep命令详解

用‘grep’搜索文本文件如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。

2016-03-24 17:15:17 370

转载 android编译系统的makefile文件Android.mk写法

android编译系统的makefile文件Android.mk写法如下(1)Android.mk文件首先需要指定LOCAL_PATH变量,用于查找源文件。由于一般情况下Android.mk和需要编译的源文件在同一目录下,所以定义成如下形式:LOCAL_PATH:=$(call my-dir)上面的语句的意思是将LOCAL_PATH变量定义成本文件所在目录路径。(2)Andro

2016-03-24 10:00:39 385

原创 Genymotion出现”Unable to load VirtualBox engine“的问题解决

Genymotion出现”Unable to load VirtualBox engine“的问题解决Genymotion出现下面问题(有可能是在安装完成打开时出现,也有可能实在启动模拟器的 时候出现)做如下操作即可正常运行: 右键–>VirtualBox–>属性–>兼容性–>(打钩)以兼容模式运行这个程序–>(选择)Windows 7–>应用–>确定!右键–>Genymotion–>属性–>兼容

2016-03-23 13:10:06 504

转载 android 中遥控器键值的添加和修改

第一步:init.rc:通过service remotecfg /system/bin/remotecfg /system/etc/remote.conf在开机init阶段,将remote.conf中的配置通过ioctl赋值到ir驱动的变量中(用户空间—>内核空间),这样遥控定制化配置才会生效。remotecfg程序代码位于external/remoteconf/irremote.c,可以

2016-03-22 13:19:29 9818

转载 Android frameworks层按键处理流程

事件处理流程1)InputManager负责读取事件并把事件送到frameworks的java层2)WindowManagerService里会有一个InputMonitor类来监听事件变化并做相应的分发处理。3)在WindowManagerService会有一个WindowManagerPolicy来做消息拦截处理。4)WindowManagerService会把消息发给最上面运

2016-03-22 13:11:45 768

转载 apk,task,android:process与android:sharedUserId的区别

apk一般占一个dalvik,一个进程,一个task。通过设置也可以多个进程,占多个task。task是一个activity的栈,其中"可能"含有来自多个App的activity默认情况下,同一个应用程序中的所有组件运行在同一个进程中,而且绝大多数的应用程序也都是这样的。但是,如果我们想要控制让某个特定的组件属于某个进程,我们可以在manifest文件中进行配置。 在每种组件元

2016-03-21 09:48:57 422

转载 android中捕获组合键及屏蔽掉其他键的问题处理

先举一个alt+q的例子当键松开时触发关闭事件     @Override    public boolean dispatchKeyEvent(KeyEvent event){          int keyCode = event.getKeyCode();          if(event.isAltPressed() && keyCode == KeyEvent

2016-03-16 17:41:26 865

原创 Android Browser UserAgent设置及查看

关于Android的Browser UserAgent一般有:DESKTOP_USERAGENT, IPHONE_USERAGENT,IPAD_USERAGENT,          ANDROID_USERAGENT这几种,当然可以根据需求自己添加其他的UserAgent。涉及到修改UserAgent的问题,一般会修改以下几个文件:/package/apps/Browser/src/co

2016-03-11 17:09:29 2839

原创 make: Nothing to be done for `all_modules'.问题解决

当用命令mmm或者mm编译Android代码时,总是会遇到make: Nothing to be done for `all_modules'.和make: *** No rule to make target `Android.mk'.  Stop.这样的错误。       可是你的确修改了代码,怎么会报错呢,报错了怎么解决呢?(没修改代码的肯定是会提示你什么都没有修改)例如我修改了fr

2016-03-10 16:11:29 6388 1

转载 Android中View的事件分发机制

介绍点击事件的事件分发就是对MotionEvent事件的分发过程,当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发的过程。涉及到的三个方法dispatchTouchEvent:用来进行事件的分发,如果事件能够传递给当前View,那么此方法一定会被调用,返回结果受当前View的onTouchEvent和View的di

2016-03-10 09:05:18 334

原创 不需要配置在线查看Android源代码

打开下面地址即可!http://androidxref.com/

2016-03-04 15:30:55 383

转载 android_如何优雅地给Activity和Fragement传入参数

传参给Fragmentpublic class MyFragment extends Fragment { private static final String ARGS_KEY = "ARGS_KEY"; private int mKey = -1; public static MyFragment newInstance(int type) {

2016-03-04 15:22:32 501

原创 Android 获取屏幕截图

获取屏幕截图,就个人理解屏幕截图的过程如下:首先检索顶层窗口的装饰视图,然后启用绘图缓存,创建绘图缓存,获得绘图缓存,拿到屏幕的宽高,根据这些条件创建一个bitmap,释放绘图缓存的资源。对于不包含状态栏的屏幕截图,需要拿到状态栏的高度,屏幕的高减去状态栏的高度再进行绘图即可。/** * 获取当前屏幕截图,不包含状态栏 * @param activity * @retu

2016-02-15 14:09:21 1446

空空如也

空空如也

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

TA关注的人

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