ConnorLin's Blog


  • 首页

  • 归档

  • 分类

  • 标签

让Android Studio支持系统签名

发表于 2016-04-27   |   分类于 Android Studio   |  

有时候,我们开发的apk需要用到系统权限,需要在AndroidManifest.xml中添加共享系统进程属性:

android:sharedUserId="android.uid.system"
android:sharedUserId="android.uid.shared"
android:sharedUserId="android.media"

这时候apk的签名就需要是系统签名(platform、shared或media)才能正常使用。

阅读全文 »

你真的了解Android Notification吗?

发表于 2016-04-21   |   分类于 Android Notification   |  

最近时不时地有人问我这样或那样的通知如何实现,所以本文将根据个人经验对Notification做个总结,以供参考!

什么是通知(Notification)

通知是一个可以在应用程序正常的用户界面之外显示给用户的消息。
通知发出时,它首先出现在状态栏的通知区域中,用户打开通知抽屉可查看通知详情。通知区域和通知抽屉都是用户可以随时查看的系统控制区域。

作为安卓用户界面的重要组成部分,通知有自己的设计指南。在Android 5.0(API level 21)中引入的 Material Design 的变化是特别重要的,更多信息请阅读 通知设计指南。

如何创建通知

随着Android系统不断升级,Notification的创建方式也随之变化,主要变化如下:

阅读全文 »

Android应用使用Multidex突破64K方法数限制

发表于 2016-04-15   |   分类于 Android   |  

写在前面

前几天,开发中遇到一个问题,Log信息如下:

E/AndroidRuntime(10943): FATAL EXCEPTION: main
E/AndroidRuntime(10943): Process: com.freeme.gallery, PID: 10943
E/AndroidRuntime(10943): java.lang.NoClassDefFoundError: com.freeme.gallery.data.DataManager$DateTakenComparator
E/AndroidRuntime(10943):     at com.freeme.gallery.data.DataManager.<clinit>(DataManager.java:65)
E/AndroidRuntime(10943):     at com.freeme.gallery.app.GalleryAppImpl.getDataManager(GalleryAppImpl.java:77)
E/AndroidRuntime(10943):     at com.freeme.gallery.provider.GalleryProvider.onCreate(GalleryProvider.java:101)
E/AndroidRuntime(10943):     at android.content.ContentProvider.attachInfo(ContentProvider.java:1656)
E/AndroidRuntime(10943):     at android.content.ContentProvider.attachInfo(ContentProvider.java:1627)
E/AndroidRuntime(10943):     at android.app.ActivityThread.installProvider(ActivityThread.java:5060)
E/AndroidRuntime(10943):     at android.app.ActivityThread.installContentProviders(ActivityThread.java:4634)
E/AndroidRuntime(10943):     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4567)
E/AndroidRuntime(10943):     at android.app.ActivityThread.access$1500(ActivityThread.java:153)
E/AndroidRuntime(10943):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1404)
E/AndroidRuntime(10943):     at android.os.Handler.dispatchMessage(Handler.java:110)
E/AndroidRuntime(10943):     at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(10943):     at android.app.ActivityThread.main(ActivityThread.java:5351)
E/AndroidRuntime(10943):     at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(10943):     at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(10943):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:835)
E/AndroidRuntime(10943):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:651)
E/AndroidRuntime(10943):     at dalvik.system.NativeStart.main(Native Method)
阅读全文 »

使用Hexo+Github Pages 来搭建免费的专属博客

发表于 2016-04-02   |   分类于 教程   |  

一、简介

Hexo

Hexo是一个开源的静态博客框架,基于node.js开发,作者是台湾大学生tommy351。

Github

如果是程序员肯定知道,Github是开源代码库以及版本控制系统。在GitHub,用户可以十分轻易地找到海量的开源代码。

Github Pages

Github Pages可以理解为用户编写的、托管在github上的静态网页,你只需将你的改动提交到Github,就可以实现更改你的网页。

阅读全文 »
12
ConnorLin

ConnorLin

9 日志
7 分类
8 标签
RSS
github
© 2016 ConnorLin
由 Hexo 强力驱动
主题 - NexT.Mist