Android
文章平均质量分 70
newbie_zhu
这个作者很懒,什么都没留下…
展开
-
Android 获取屏幕截图
获取屏幕截图,就个人理解屏幕截图的过程如下:首先检索顶层窗口的装饰视图,然后启用绘图缓存,创建绘图缓存,获得绘图缓存,拿到屏幕的宽高,根据这些条件创建一个bitmap,释放绘图缓存的资源。对于不包含状态栏的屏幕截图,需要拿到状态栏的高度,屏幕的高减去状态栏的高度再进行绘图即可。/** * 获取当前屏幕截图,不包含状态栏 * @param activity * @retu原创 2016-02-15 14:09:21 · 1446 阅读 · 0 评论 -
Activity生命周期详解
子曰:溫故而知新,可以為師矣。《論語》学习技术也一样,对于技术文档或者经典的技术书籍来说,指望看一遍就完全掌握,那基本不大可能,所以我们需要经常回过头再仔细研读几遍,以领悟到作者的思想精髓。近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下。熟悉javaEE的朋友们都了解serv转载 2016-06-28 18:47:24 · 354 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Android定制及替换launcher
替换Android桌面的相关问题:1、想将home screen换成自己写的activity,该如何实现?在 你要设置为home screen的那个activity的androidManifest.xml中的标签中加上这几句 话运行后,重启模拟器会弹出一个选择进入哪个界面的对话框2、怎样将系统默认的home screen删除?重新编译launcher源码,去掉配转载 2016-07-26 15:02:58 · 2352 阅读 · 0 评论 -
Source Insight常用设置和快捷键大全(最全)
今天发现一篇非常棒的博客和大家分享,关于Source Insight的常用设置及快捷键大全,真的非常全!!原文地址:http://www.cnblogs.com/bluestorm/archive/2012/10/28/2743792.html1.括号配对高亮:“在前括号左侧,后括号左侧” 双击鼠标左键,可以选定匹配括号和其中内容( 2.让{ 和 } 不缩进:转载 2016-08-30 11:01:20 · 468 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
通过包名获取apk安装路径
在apk中获取自身安装路径:getPackageResourcePath();在apk中获取其他已知包名apk的安装路径:getPackageManager().getApplicationInfo(packageName, 0).sourceDir;主要查看PackageManager.java和ApplicationInfo.java这两个文件即可。原创 2016-11-10 17:19:58 · 8527 阅读 · 0 评论 -
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 阅读 · 0 评论 -
Android中使用WebView全屏播放视频时home键不起作用的问题解决
最近几天客户有个需求:无论在什么情况下,按home键都要回到app的首页,其他情况都已经实现,但在Webview中全屏播放视频时,按home键回到app首页。这个问题困扰我很长时间,因为home键是系统按键,app中压根拦截不到home键的事件,所以没法处理。客户需求又不得不做,因此查看Browser++源码发现,全屏播放时在onShowCustomView()方法中传进来一个View,记录此时的原创 2016-12-22 11:15:35 · 1102 阅读 · 0 评论 -
android中解析text配置文件
Android中文件解析有xml解析,json解析等。这里要说的是解析txt配置文件,返回JavaBean对象。有一点是,配置文件每一行有一条数据,有些数据可能并不是我们所需要的,每组数据里面包含的元素不一定相同,而且取出来的数据也得符合要求。先看JavaBean:public class UpgradeInfo { public String productID; public原创 2016-12-30 15:25:02 · 446 阅读 · 0 评论 -
am 命令给activity传值及activity 获取
am 传入值最简单直接的方式: am start -n packagename/.ActivityName -d "string"activity获取:getIntent().getDataString(); 如此简单,自己花了一个小时。。。原创 2017-01-09 17:49:30 · 1347 阅读 · 0 评论 -
CharSequence的getText()与String的getString()区别
曾经在学习中碰见两种获取常量的方式: CharSequence chrs = getText(R.string.demo); String str = getString(R.string.demo); 这两种方式有什么不同呢?一定要搞明白,开始实验: 实验一:strings转载 2016-06-03 09:41:48 · 698 阅读 · 0 评论 -
Android 开发中Parcel存储类型和数据容器
在android中使用Parcel(存储基本数据类型和引用数据类型的容器)通过IBinder来绑定,这种方法的作用是让数据在进程间传递数据,Parcel定位就是轻量级的高效的对象序列化和反序列化机制。在Framework中有parcel类,源码路径是:Frameworks/base/core/java/android/os/Parcel.java典型的源码片断如下:转载 2016-05-18 17:41:13 · 1467 阅读 · 0 评论 -
windows7下安装配置opengrok
opengrok是一个代码查看工具,对于比较大的项目,团队之间一个人搭建好之后其他人可以直接访问使用。原创 2016-02-04 15:18:27 · 2547 阅读 · 1 评论 -
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 阅读 · 0 评论 -
apk,task,android:process与android:sharedUserId的区别
apk一般占一个dalvik,一个进程,一个task。通过设置也可以多个进程,占多个task。task是一个activity的栈,其中"可能"含有来自多个App的activity默认情况下,同一个应用程序中的所有组件运行在同一个进程中,而且绝大多数的应用程序也都是这样的。但是,如果我们想要控制让某个特定的组件属于某个进程,我们可以在manifest文件中进行配置。 在每种组件元转载 2016-03-21 09:48:57 · 422 阅读 · 0 评论 -
Android中View的事件分发机制
介绍点击事件的事件分发就是对MotionEvent事件的分发过程,当一个MotionEvent产生了以后,系统需要把这个事件传递给一个具体的View,而这个传递的过程就是分发的过程。涉及到的三个方法dispatchTouchEvent:用来进行事件的分发,如果事件能够传递给当前View,那么此方法一定会被调用,返回结果受当前View的onTouchEvent和View的di转载 2016-03-10 09:05:18 · 334 阅读 · 0 评论 -
Genymotion出现”Unable to load VirtualBox engine“的问题解决
Genymotion出现”Unable to load VirtualBox engine“的问题解决Genymotion出现下面问题(有可能是在安装完成打开时出现,也有可能实在启动模拟器的 时候出现)做如下操作即可正常运行: 右键–>VirtualBox–>属性–>兼容性–>(打钩)以兼容模式运行这个程序–>(选择)Windows 7–>应用–>确定!右键–>Genymotion–>属性–>兼容原创 2016-03-23 13:10:06 · 504 阅读 · 0 评论 -
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 阅读 · 0 评论 -
【Android 多媒体开发】 MediaPlayer 状态机 接口 方法 解析
一. MediaPlayer 状态机 介绍Android MediaPlayer 状态即图例 : 1. Idle (闲置) 状态 和 End (结束) 状态MediaPlayer 对象声明周期 : 从 Idle 到 End 状态就是 MediaPlayer 整个生命周期;-- 生命周转载 2016-04-25 12:12:39 · 767 阅读 · 0 评论 -
Android中的Parcel
Parcel,翻译过来是“打包”的意思。打包干什么呢?是为了序列化。 如果要在进程之间传递一个整数,很简单,直接传就是行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内存中,再传递(新手可能问:为啥不直接把字符串的引用传过去呢?学过C/C++的地球人都知道:进程有自己的内存地址空间,一个进程中的1000地址可能在另一个进程中是100000,j转载 2016-04-13 18:19:55 · 321 阅读 · 0 评论 -
六款值得推荐的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 阅读 · 0 评论 -
Android Handler、Message完全解析,带你从源码的角度彻底理解
我们都知道,AndroidUI是线程不安全的,如果在子线程中尝试进行UI操作,程序就有可能会崩溃。相信大家在日常的工作当中都会经常遇到这个问题,解决的方案应该也是早已烂熟于心,即创建一个Message对象,然后借助Handler发送出去,之后在Handler的handleMessage()方法中获得刚才发送的Message对象,然后在这里进行UI操作就不会再出现崩溃了。这种处理方式被称为异步消转载 2016-05-04 19:05:35 · 393 阅读 · 0 评论 -
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 阅读 · 0 评论 -
如何在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 阅读 · 0 评论