- 博客(30)
- 收藏
- 关注
原创 Android中获取apk文件包名,名称,图标等信息
最近工作上遇到个需求,需要获取apk文件的包名和图标等信息,本来想着这回挺难弄得,想着得解压apk然后读取Manifest的编码后的信息。但是后来偶然看到ES文件浏览器可以显示apk的名称和图标,于是就上网搜了一下。果然,这次又犯了井底之蛙和想当然的毛病,原来这个功能PacakgeManager已经提供了。我们要做的仅仅就是调用一下API,So Easy.不多说了上代码:PackageManager
2016-03-24 14:28:27
7965
原创 AndroidStudio导入Eclipse项目并保留Eclipse目录结构
公司有些历史项目,采用的是Eclipse进行开发的,项目目录结构和AndroidStudio不同,虽然AndroidStudio可以直接导入Eclipse项目,但是不能默认的保留Eclipse的相应目录结构. 这样,在协同开发时,同事如果使用的是Eclipse那么我们就没法直接导入进行开发了.(因为需要使用版本控制软件,如git). 所以找了个方法,使AndroidStudio导入Eclipse
2016-02-17 18:05:37
1096
转载 Effective OkHttp
http://omgitsmgp.com/2015/12/02/effective-okhttp/?utm_source=Android+Weekly&utm_campaign=f63eaea32c-Android_Weekly_182&utm_medium=email&utm_term=0_4eb677ad19-f63eaea32c-337831889
2015-12-07 14:09:57
535
原创 Flask快速开始总结
Flask简单示例from flask import Flask#创建Flash实例,用于运行app = Flask(__name__) #给指定方法指定访问url@app.route('/')def hello(): return 'Hello World!'if __name__ == '__main__': app.run()#默认app.run()在debug模式只限于你本
2015-08-19 23:49:41
2985
1
原创 SQLAlchemy代码总结(1)
SQLAlchemy代码总结(1) 本文抽自官方文档,用来记忆,具体请看官方文档,因为这里只有代码,没有什么说明。版本检查>>> import sqlalchemy>>> sqlalchemy.__version__1.0.8连接 engine在第一次使用时建立DBAPI与数据库的连接>>> from sqlalchemy import create_engine>>> engine
2015-08-19 01:05:49
1137
原创 Redis命令
Radis简单命令切换数据库> select 0OK字符串结构存储键值对> set name 'hello world'获取数据> get name"hello world"针对特定类型的命令以下一些操作依赖于特定的value值的类型,虽然redis并不关心你的值是什么,但是它还是提供一些对某种特定类型和结构有用的命令获取指定字符串key的value长度> strlen name(intege
2015-08-16 18:07:16
569
翻译 Android依赖注入:Dagger(Part 3)
Android依赖注入:Dagger(Part 3)如果你一直跟着阅读这个系列,那么你已经读过了依赖注入基本知识和依赖注入基础.这篇是最后一篇,将会讲scoped object graphs(指定域的对象图表).Dagger的指定域对象图表有什么用?当我们在application对象图表中实例化Dagger单例依赖时,他们一直在内存中,直到程序被销毁.但是有一些单例依赖只在另外一些对象存活时有用.一
2015-07-16 23:45:29
619
原创 Android开发问题汇总
Android开发问题汇总1.进行数据库操作时出现以下异常:java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteDatabase:第一种可能是你确实在关闭后又重新使用了,这种解决方法很简单,不要在数据库关闭后再进行使用即可. 第二种可能是你update一个没有并没有存在的项时也会出现
2015-07-16 14:17:52
454
原创 Android避免内存泄露
Android避免内存泄露不要在Activity中使用Activity的内部类创建Runnable传入Handler或者Thread去执行.因为匿名内部类会隐式的持有外部类的引用,如果匿名内部类对象的生命周期比外部类(eg. Activity)的生命周期更长,就会导致外部类对象没法释放.比如在Activity中的某段代码执行handler.postDelayed(new Runnable() {
2015-07-16 00:00:35
779
翻译 Android依赖注入: Dagger (Part 2)
Android依赖注入: Dagger (Part 2)如果你读了依赖注入的第一篇文章,那么你可能正在寻找一些真实的代码.这里有一些不错的例子,coffee makers at Dagger page,还有一个特别好的model project by Jake Wharton适合有经验的用户.但是我们需要一些简单的,然而coffee并不是我们的主业务模型,所以这篇文章将会提供一个例子,来让我们了解简
2015-07-14 22:25:41
632
翻译 Android依赖注入: Dagger (Part 1)
Android依赖注入: Dagger (Part 1)在这篇文章中我将会解释什么是依赖注入,它的主要目的是什么,如何在Android项目中通过Dagger来完成依赖注入,Dagger是我认为Android中最好的依赖注入实现.这篇文章将会接着我上一篇关于Android MVP的文章,因为我知道你们很想看到在相同的项目中实现依赖注入,我相信他们能够很好地达到目的.这第一部分将会讲一些基础知识.知道依
2015-07-13 00:50:59
626
原创 android studio使用问题汇总
android studio导入项目一直build的问题 解决方法:只需将正常工程下的gradle目录覆盖至被导入的工程目录即可.
2015-07-06 14:53:31
440
转载 setuid,setgid,sticky
linux特殊权限:setUid, setGid, 粘着位(sticky)(1)目录的X权限(执行).文件的可执行权限很简单,也就是可否执行它的意思,但目录的执行权限又代表什么意思呢?当然不可能是要执行这个目录了,其实这个执行权限如果用在目录上时,它不再代表执行的意思了,而是代表”搜索”权限。当你要访问/etc/httpd.conf文件时,您必须拥有对目录etc的X(即搜索)权限,否则即便你对目录/
2015-07-03 13:13:00
492
翻译 DrawerLayout的基本使用
DrawerLayout介绍DrawerLayout作为最顶部的View容器提供侧拉抽屉的功能.他依靠子View的android:layout_gravity属性来决定侧拉抽屉放置的方向.(记得使用start/end来支持不同的布局方向)要使用DrawerLayout,将其作为你的根布局,然后主内容作为第一个子View添加进来,并且使用match_parent指定高度和宽度,接着侧拉抽屉的内容作为第
2015-06-25 01:54:12
2495
翻译 Apache和Django整合
Apache和Django整合为了能够安装一些额外的包,需要先安装EPEL repositorysudo yum install epel-release接下来就可以安装 pip httpd mod_swgi了sudo yum install python-pip httpd mod_wsgi接下来,为了能够让我们的Django项目和其他的系统工具和Python项目独立,我们需要创建一个Python
2015-06-24 01:37:28
858
原创 学习过程中有关python的错误合集
在使用pip安装库的时候出现以下问题 AttributeError: ‘module’ object has no attribute ‘wraps’ 解决方法:将python目录/site-packages目录下的所有pip开头的文件删除,然后重新安装pip即可. 以下是CentOS代码mv /usr/lib/python2.7/site-packages/pip* ./yum reins
2015-06-24 00:06:41
899
翻译 初始配置CentOS 7服务器
当我们得到一个服务器以后,直接使用root@ip 然后输入密码登陆服务器是很危险的事情,如果密码被别人知道或者我们做了一些错误操作都会引起灾难性的后果,所以,我们需要创建一个普通用户,并且使普通用户可以在需要的时候执行root命令,并且禁止root远程登录.添加用户adduser 用户名修改密码passwd 用户名将用户添加到 wheel group 这个group允许用户使用sudo命令gpas
2015-06-23 23:40:42
536
原创 目前的几种应用防杀方式
分为两类一种是360之类,调用系统api(ActivityManager)去杀掉其他应用进程:对于这种方式,有两种解决方法:1,将你的Service设置成Forground Service,这样可以保证它绝对杀不掉你. 这种方式的缺点就是你必须在通知栏提供一个固定的通知,移除不掉2,使用jni编写守护进程,这样虽然会被杀掉进程,但是很快守护进程又会重启唤醒你的app.
2015-06-19 00:20:55
665
原创 AppCompat does not support the current theme features
两种解决办法1.在你继承的AppCompat主题中确定有以下两个item(不要加android:前缀)name="windowActionBar">falsename="windowNoTitle">true2.继承Theme.AppCompat.NoActionBar 因为该主题包含了以上的设置
2015-06-04 00:40:44
1324
翻译 安卓性能案例研究后续(未完成)
安卓性能案例研究后续两年前,我发布了一篇名为 Android性能案例 的文章来帮助Android开发者了解哪些工具和技术可以被用来定位,跟踪,和解决性能问题.那一篇文章专注于 [Falcon Pro](“https://play.google.com/store/apps/details?id=com.jv.materialfalcon“) ,Vergès. Joaquim开发的Twitter客户端
2015-04-10 02:12:19
647
原创 不要使用Drawable的setBounds方法来指定其在控件作为背景的显示位置
假设一个控件使用Drawable作为背景,那么如果你想通过setBounds方法来控制背景的显示区域,那么你达不到目的.原因是 当drawable被设置成控件背景后,当这个控件被绘制时(也就是draw(canvas)被调用时),控件在绘制背景时会自动更改其bounds为控件大小.所以无论你怎么设置,系统都会在绘制这个控件背景时将其Bounds改为控件大小.附上源码public vo
2015-03-05 00:32:04
3397
3
原创 android studio 1.1.0 添加jar包方法
打开你的Mudule所在的目录 进入app子目录将 jar 包放进去然后进入Android Studio 右键 你的Module 选择 Open Module Setting -->Dependencies 然后点击左下角的+号,选择File dependency 选择libs下的你添加的jar文件即可
2015-03-03 00:22:57
657
原创 修改ViewPager源码使ViewPager支持弹簧效果
所谓弹簧效果就是在滑动到ViewPager首页或者末页时继续滑动,随着手的移动ViewPager会继续滑动,但是滑动的距离越来越短.达到一种好像有弹簧拉着的感觉.如下所示改的方法很简单找到ViewPager源码,拷贝一份到你的工程里,然后找到performDrag()方法 private boolean performDrag(float x) {
2015-02-03 22:30:52
2246
1
原创 android 显示/隐藏状态栏(Status bar)
4.0及以下两种方法1,通过特定的主题,如Theme.Black.NoTitleBar.Fullscreen.2,通过代码 在Activity中隐藏状态栏:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);显示
2014-12-25 14:37:30
7159
原创 更改EditText光标高度
在做项目是发现如果指定了EditText的lineSpacingMultiplier 或者 lineSpacingExtra属性调整行间距,则光标会变得很大,十分的难看.于是在网上搜,找到了解决方法.http://stackoverflow.com/questions/11641997/how-to-change-edittext-cursor-height这个方法只在API 12以后
2014-11-14 09:53:41
7158
原创 android性能分析工具-TraceView参数解释
本文是在阅读 http://blog.jobbole.com/78995/ 文章后自己的总结.
2014-11-05 22:15:58
722
原创 解决Mac升级到Yosemite后Eclipse找不到Android设备的问题
昨天把Mac升级到了Yosemite,然后打开Eclipse打算调试Android程序,结果发现点击Run As Android Application
2014-10-29 09:01:45
1836
1
原创 affinity的解释与示例
affinityaffinity表示一个activity更愿意属于哪一个task.默认的,在一个应用程序中的activity的affinity相同,表示他们愿意属于同一个task中.可以为activity制定affinity以实现特殊效果.affinity具体使用环境有两种情况.1,intent包含FLAG_ACTIVITY_NEW_TASK的flag属性时.这种情
2014-10-26 16:41:54
1011
原创 lauchMode与Intent的flag的解释与示例
activstandard 系统在启动该activity的task中创建该activity.例:back stack 初: A B CC start Dback stack 后: A B C DsingleTop 如果当前task的顶部已经有该activity的一个实例,则系统将intent传入给顶部activity的onNewIntent方法,而不是创建一
2014-10-26 16:27:36
525
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人