android
文章平均质量分 59
Dij__柯南
要用心
展开
-
WebView封装
1. setting设置WebSettings settings = mWebView.getSettings(); if (mUrl.startsWith("file://")) { settings.setAllowFileAccess(true); settings.setJavaScriptEnabled(false); } else { settings.setAllowFileAcce原创 2021-01-03 17:58:37 · 421 阅读 · 0 评论 -
单例中的volatile关键字
转自:https://www.cnblogs.com/keeya/p/9260565.html背景:在早期的JVM中,synchronized存在巨大的性能开销。因此,有人想出了一个“聪明”的技巧:双重检查锁定(Double-Checked Locking)。人们想通过双重检查锁定来降低同步的开销。下面是使用双重检查锁定来实现延迟初始化的示例代码。public class DoubleCheckedLocking { // 1 private static Instance instance;转载 2020-08-04 10:35:30 · 239 阅读 · 0 评论 -
DaoMaster不生成不存在的原因
需要编写注解生成对象实例。@Entitypublic class ShopInfo { //表示为购物车列表 public static final int TYPE_CART = 0x01; //表示为收藏列表 public static final int TYPE_LOVE = 0x02; //不能用int @Id(autoincrement = true) private Long id; //商品名称 @Uniqu原创 2020-07-20 18:44:09 · 1522 阅读 · 0 评论 -
Android编程心得---Fragment使用总结(一)
注册Fragment两种方法:第一种:在xml中直接画出Fragment[java] view plaincopy"white-space:pre"> android:id="@+id/xml_fragment" android:layout_width="wrap_content"转载 2014-12-17 18:31:25 · 590 阅读 · 0 评论 -
Android使用Application总结
Application 配置全局Context第一步、写一个全局的单例模式的MyApplication继承自Application 覆盖onCreate ,在这个方法里面实例化Application第二步、配置全局的Context第三步、使用,使用的时候用的时候根据类的名称访问ContextAndroid程序的入口点Android使用Google Dalvik VM,相转载 2015-01-06 13:33:25 · 326 阅读 · 0 评论 -
android 获取另一个apk的信息
/** * @return all local plaugins */ private List findLocalPlugins(){ PackageManager pm=getPackageManager(); //List pkgs=pm.getInstalledPackages(PackageManager.GET_UNINSTALLED_PACKAGES);转载 2015-01-06 13:36:11 · 586 阅读 · 0 评论 -
[Android]实现静默安装APK的两种方法(1)
Android上的静默安装似乎是个很诱人的功能,好多人都问这个问题。今天分享下实现静默安装的两种方法,但当看完这篇文章后,仍会让一些人失望滴。 Android把所有的Permission依据其潜在风险(属性名为protectionLevel )划分为四个等级,即"normal "、 "dangerous "、 "signature "、"signatureOrSystem "。转载 2015-01-08 10:27:44 · 1759 阅读 · 0 评论 -
android apk静默安装和卸载(2)
静默安装:在某个触发点自动后台安装指定apk.没有安装界面.新软件自动安装,有旧版本的默默卸载,然后再安装,并且在不受系统设置中的第三方软件安装开关的限制. 自己跟踪记录的源码流程Filemanager中点击apk包之后发送了一个intent出去/** uri = file:///storage/sdcard0/download/%E7%转载 2015-01-08 10:29:30 · 1008 阅读 · 0 评论 -
怎样使android apk 获取root权限
最近在回答客户的问题时,提到怎么将apk 升级到root权限。1.一般权限的添加一般情况下,设定apk的权限,可在AndroidManifest.xml中添加android:sharedUserId="android.uid.xxx>例如: 给apk添加system权限 ... ... android:sharedUserId=转载 2015-01-08 11:58:35 · 809 阅读 · 0 评论 -
android如何静默方式来安装apk(3)
通常情况下,android是没有提供静默方式的上层接口,我们需要在android源代码下来调用这个隐藏的接口来完成静默安装。最重要的就是参考android系统目录下的packages/apps/PackageInstaller,当中有两个文件 PackageInstallerActivity.java,InstallAppProgress.java ,前者就是我们通常看到的带有提示对话框的转载 2015-01-08 10:30:57 · 876 阅读 · 0 评论 -
Android中Root权限获取的简单代码(3)
那么我们在Android开发中如何获取Android的Root权限呢?下面是主要的简单代码。我们知道Android手机操作系统采用的是Linux内核,Linux中最高的系统权限就是Root,这就类似与Windows中的Administrator系统管理员权限,也就是操作系统的最高权限。由于Root的权限过高,因此手机产商一般都不允许用户直接拥用Root权限,以防止用户修转载 2015-01-08 12:26:07 · 653 阅读 · 0 评论 -
Android中Root权限获取(1)
让你的函数在android上具有root权限在 android 的API中有提供 SystemClock.setCurrentTimeMillis()函数来修改系统时间,可惜无论你怎么调用这个函数都是没用的,无论模拟器还是真机,在logcat中总会得到"Unable to open alarm driver: Permission denied ".这个函数需要root权限或者运行与系统进程中转载 2015-01-08 12:24:22 · 370 阅读 · 0 评论 -
Android中Root权限获取的实例代码(2)
这篇文章主要介绍了Android如何获取ROOT权限,写了一个小方法,大家可以在应用中检测ROOT权限获取Android的ROOT权限其实很简单,只要在Runtime下执行命令"su"就可以了。复制代码代码如下:// 获取ROOT权限public void get_root(){ if (is_root()){转载 2015-01-08 12:25:20 · 513 阅读 · 0 评论 -
DialogFragment详解
详解一:Android提供alert、prompt、pick-list,单选、多选,progress、time-picker和date-picker对话框,并提供自定义的dialog。在Android 3.0后,dialog基于fragment,并对之前版本提供兼容支持库,也就是说对于开发者而言,dialog是基于DialogFragment的,但此时需要在应用中加入相关的兼容库。转载 2014-12-18 15:40:38 · 463 阅读 · 0 评论 -
Android getWindow()总结
1. GetActiveWindow 函数功能:该函数可以获得与调用线程的消息队列相关的活动窗口的窗口句柄。函数原型:HWND GetActiveWindow(VOID)参数:无。返回值:返回值是与调用线程的消息队列相关的活动窗口的句柄。否则,返回值为NULL。 2. GetWindow函数功能:该函数返回与指定窗口有特定关系(如Z序或所有者转载 2014-12-20 10:57:06 · 13584 阅读 · 1 评论 -
android系统源码目录system/framework下各个jar包的用途
am.jar:终端下执行am命令时所需的java库。源码目录:framework/base/cmds/amandroid.policy.jar:锁屏界面需要用到的jar包,该包引用了android.test.runner.jar,源码目录:framework/base/policyandroid.test.runner.jar:测试应用所需的jar包,该包引用了core.jar,core-juni转载 2015-01-08 13:18:38 · 1221 阅读 · 0 评论 -
Activity杀死进程退出
应用程序在退出杀死进程的时候,使用1 finish();---------------关闭Activity2 system.exit(0);----------------退出java虚拟机,每一个安卓程序打开的同时都会产生一个java虚拟机;3 android.os.Process.killProcess(android.os.Process.myPid(转载 2014-12-21 14:49:46 · 1693 阅读 · 0 评论 -
SurfaceView实现视频播放
1.案例一布局文件:xml version="1.0" encoding="utf-8"?>LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" and转载 2014-12-21 11:16:51 · 434 阅读 · 0 评论 -
Android Edittext 输入法软键盘屏蔽,有光标
方式一:[java] view plaincopyprint?/** 输入法软键盘屏蔽,有光标*/ private void srfpb(EditText text) { if (android.os.Build.VERSION.SDK_INT 10) {//4.0以下 text.setInputTyp转载 2014-12-20 10:58:32 · 1109 阅读 · 0 评论 -
Activity的几种跳转方式
1.显示调用方法Intent intent=new Intent(this,OtherActivity.class); //方法1Intent intent2=new Intent();intent2.setClass(this, OtherActivity.class);//方法2intent2.setClassName(this, "com.zy.MutiA转载 2014-12-19 14:03:35 · 609 阅读 · 0 评论 -
解决eclipse连接不到genymotion的问题
(1)很多朋友在使用genymotion开发安卓应用程序的时候,会遇见完全正确的安装但是在运行的时候仍然找不到,genymotion上的设备,在打开的devices上找不到如下图所示:(2)解决的方法如下:1、关闭eclipse、genymotion等相关软件;2、打开你的genymotion--找到settings---找到ADB、按照我下图所示的地方勾选--转载 2015-01-29 14:15:55 · 399 阅读 · 0 评论 -
eclipse无法访问genymotion模拟器下/data/data文件解决方案
在学习android下SQLite数据库编程的时候,我们通常会在eclipse的File Explorer视图中导出数据库文件(后缀名为.db或.db3),然后可能会在可视化的数据库软件(比如SQLite Expert)中查看。这个操作在我们使用android官方模拟器时是很常见的。但是,官方的模拟器运行起来又卡又慢,让人难以忍受。所以和很多人一样,我也选择了genymotion这个神器。启动运行转载 2015-01-29 14:38:42 · 542 阅读 · 0 评论 -
Android--为TextView添加边框
textview加边框 收藏 方法一: 比较土 ,加背景图片,透明的带边框的背景图片设置到android:background就可以 方法二: 刚学到的android:background的值是一个xml文件 yle="font-family: mceinline;">TextView的xml: android:转载 2014-12-22 11:38:43 · 516 阅读 · 0 评论 -
Android下屏保程序的开发
1、注册一个BroadcastReceiver,用于接收ACTION_SCREEN_OFF事件,当接收到这个事件时,打开自定义的屏保画面。Intent.ACTION_SCREEN_OFF.IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);registerReceiver(mReceiver, filter)转载 2014-12-06 14:15:01 · 970 阅读 · 0 评论 -
Android清除本地数据缓存代码
主要功能清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录/* * 文 件 名: DataCleanManager.java * 描 述: 主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目录 */import java.io.File;import andro转载 2015-01-12 13:21:06 · 311 阅读 · 0 评论 -
Android中的AlarmManager的使用
1、AlarmManager,顾名思义,就是“提醒”,是Android中常用的一种系统级别的提示服务,可以实现从指定时间开始,以一个固定的间隔时间执行某项操作,所以常常与广播(Broadcast)连用,实现闹钟等提示功能2、AlarmManager的常用方法有三个:(1)set(int type,long startTime,PendingIntent pi);该方法用于设转载 2015-01-12 11:40:20 · 473 阅读 · 0 评论 -
Android开发之Service优先级问题
为什么是 foreground ? 默认启动的 Service 是被标记为 background,当前运行的 Activity 一般被标记为 foreground,也就是说你给 Service 设置了 foreground 那么他就和正在运行的 Activity 类似优先级得到了一定的提高。当让这并不能保证你得 Service 永远不被杀掉,只是提高... Android开转载 2015-01-14 19:12:19 · 511 阅读 · 0 评论 -
使用VideoView实现简单视频播放器
VideoView 是android 系统提供的一个媒体播放显示和控制的控件。VideoView内部封装好了Mediaplayer.Android框架提供了VideoView类来封装MediaPalyer,这个VideoView类非常好用。Android自带的程序Gallery也是用VideoView实现的。相比之下,我们使用更方便 ,实现MediaPlayer.OnCompletionLis转载 2014-12-09 11:50:57 · 1060 阅读 · 0 评论 -
android中使用SurfaceView做视频播放器--视频切换无缝连接
Android中的视频用到的有view.SurfaceHolder和view.SurfaceView,还有就是用到了MediaPlayer.OnBufferingUpdateListener和MediaPlayer.OnBufferingUpdateListener这里就是视频的主要的代码。Java代码:主类package com.example.testmediapl转载 2014-12-11 14:58:12 · 3043 阅读 · 0 评论 -
细说Android事件传递机制(dispatchTouchEvent、onInterceptTouchEvent、onTouchEvent)
本文背景:前些天用到了之前写的自定义图片文字复合控件,在给他设置监听时遇到了麻烦。虽然最后解决了问题,但发现在不重写LinearLayout的onInterceptTouchEvent时,子ImageView、子TextView、父Linearlayout三者不同的属性配置(android:clickable android:focuseable)会造成自定义控件onClick监听失败、或成功转载 2014-12-10 18:13:50 · 634 阅读 · 1 评论 -
使用Intent跳转后清除以前所访问的页面
我们的开发中会经常使用到Intent来进行页面的跳转和传递数据,例如从A-->B,但是这个时候当用户点击返回按键的时候会很自然的回到A,这是很多时候正常的做法,但是在一些特殊需求的地方我们就不希望用户再从B回到A了,例如用户再产品中点击了退出登陆,那么这个时候会跳转到登陆界面,那么这个时候如果用户点击返回,那么难道要回到点击退出登陆那个页面么?这是不科学的!哈哈,好了废话不多说,来说说简单的实现吧转载 2014-12-11 09:44:03 · 3270 阅读 · 0 评论 -
Activity. Intent. Service. BroadcastReceiver的使用
1.Activity篇1.Activity的主要作用 Activity是界面、用户接口、控件窗口,负责程序与用户间进行交互 2.创建一个Activity需要的步骤 1.一个Activity就是一个类,并且这个类要继承Activity 2.需要复写(@override)onCreate方法,第一次运行就会运行此方法 3.每一个Activity都需要在Andro转载 2014-12-11 11:03:09 · 849 阅读 · 0 评论 -
Android事件传递机制
本篇内容将结合Android源码来分析Android的事件传递机制。众所周知,点按、滑动、触摸构成了Android等智能设备的基本操作,几乎所有的应用都通过对触摸屏的操作来进行应用程序的使用。那么,在Android中,触摸事件是如何响应及传递的呢,通过本篇内容你将有一个初步的了解。实验环境OS X 10.9Eclipse(ADT)Android源码版本:API Leve转载 2014-12-10 18:20:29 · 430 阅读 · 0 评论 -
Android连续点击两次Back键退出程序
思路1:记录上次点击的时间,与本次点击的时间比较,当两次时间间隔小于一定值时,退出,否则提示“再按一次退出程序”,同时更新上次点击时间[java] view plaincopyprivate long firstTime = 0; @Override public boolean onKeyUp(int keyCode, KeyEv转载 2014-12-12 17:35:15 · 379 阅读 · 0 评论 -
销毁activity时注意关闭线程
在Activity开启的子线程并不会自动随Activity的destroy而关闭,所以必须手动去关闭子线程或者通过boolean的方式让子线程结束运行。开启的子线程有for循环的要更加注意。 1 package com.lsw; 2 3 import android.app.Activity; 4 import android.os.Bundle; 5 import转载 2014-12-13 16:36:11 · 612 阅读 · 0 评论 -
Android中Fragment的应用
文章原地址:http://www.360doc.com/content/12/0526/21/9058751_213910429.shtmlFragment 表现 Activity 中用UI的一个行为或者一部分. 可以组合多个fragment放在一个单独的activity中来创建一个多界面区域的UI,并可以在多个activity里重用某一个fragment.把fragment 想象转载 2014-12-13 15:51:37 · 365 阅读 · 0 评论 -
android编程如何实现关机和重启(1)
现在网上的代码一般都不能重启,或者关机,我的代码可以实现绝大多数的手机关机和重启,并且不需要jni的操作方法/步骤创建android项目创建android项目并配置布局文件编辑布局文件,拖一个按钮到布局文件中,并添加点击事件android:onClick="o转载 2014-12-12 13:45:59 · 770 阅读 · 0 评论 -
Android 系统重启与关机:Java 代码实现(3)
在应用层如何通过代码实现 Android 系统的重启,分享给大家。这篇博客是在 android 系统开发的基础之上进行实践的,所以如果你是纯粹的 app 开发,可能要让你失望了。该代码在真机上测试成功,在模拟器上面测试失败。在 linux 下面,重启 pc,非 root 用户需要执行 sudo reboot,所以在 android 下重启机器也需要一定的权限。应用程转载 2014-12-12 13:50:23 · 899 阅读 · 0 评论 -
android 彻底关闭应用程序 返回键的捕获
在开发android应用时,常常通过按返回键(即keyCode == KeyEvent.KEYCODE_BACK)就能关闭程序,其实大多情况下该应用还在任务里运行着,其实这不是我们想要的结果。我们可以这样做,当用户点击自定义的退出按钮或返回键时(需要捕获动作),我们在onDestroy()里强制退出应用,或直接杀死进程,具体操作代码如下: @Overridepubl转载 2014-12-12 17:32:54 · 439 阅读 · 0 评论 -
Android 签名详解
在Android 系统中,所有安装 到 系统的应用程序都必有一个数字证书,此数字证书用于标识应用程序的作者和在应用程序之间建立信任关系,如果一个 permission的protectionLevel为signature,那么就只有那些跟该permission所在的程序拥有同一个数字证书的应 用程序才能取得该权限。Android使用Java的数字证书相关的机制来 给apk加盖数字证书,要理解an转载 2015-01-19 15:21:32 · 343 阅读 · 0 评论