`
zhonglunshun
  • 浏览: 134815 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
对于一些安全性要求比较高的应用,需要使用代码混淆,android  studio很好的提供了这个功能,使我们能够方便的进行代码混淆;   1,在build.grandle添加,其中规则写在proguard-rules.pro中,也可以自定义一个文件,将其代替,比如eclipse常用的 proguard-project.txt buildTypes { release { signingConfig signingConfigs.release minifyEnabled true proguardFiles getDefaultProguardFile ...
话不多说,直接给出一个工具类,想要的拿去   package com.locinengine.utils; import java.io.File; import java.text.SimpleDateFormat; import java.util.Date; import android.annotation.SuppressLint; import android.app.Activity; import android.app.AlertDialog; import android.content.ActivityNotFoundException; im ...
访问网址出现:illegal character in scheme at index x     使用get方式请求数据,参数在url后。   开始以为是字符编码问题,当都用utf-8之后发现没用,然后有些手机不会报错,有些手机会;   public static void getRemoteJsonContent(final Map<String, String> param, final String url, final XValueCallback<String> callBack) throws Exception { St ...
原文:http://www.xjy.cn/views/630.html   古典:生涯规划师是这样做“月计划”的 古典/ 新精英创始人、生涯规划师   2014/09/02 阅读7598 文/古典 新精英创始人、生涯规划师
学习笔记二:数据初始化和用户登录;   上一节讲的是系统环境的初始化和用户配置的初始化,那么接下来就是数据的初始化了,数据的初始化因为需要的时间比较长,放在了splash界面里面做,在一定的时间内数据初始化完 ...
本次学习思路是跟着环信的sdk 的apk例子,根据用户操作,把功能走一遍,代码的讲解跟随功能一起讲; 所以首先在我们安装好了apk之后,从点击launch图标之后执行的一系列代码开始跟踪,ready?~~ Go! 0,初始化应用application ...
熟话说,工欲善其事必先利其器,因此,为了更好的学习环信的demo,我们需要下载几个东西;   原料: 环信sdk example: 下载网址:http://www.easemob.com/downloads   下载完成之后,用eclipse导入里面的ChatDemoUI;   原料二: jadclipse+jad(class文件查看工具),这个东西用起来很方便,在没有源码的情况下我们用这个查看环信封装好的jar包的源码; 为了方便大家,我已经都下好了放在附件里了,大家自行下载;   配置jadclipse: 解压附件,里面有两个东西,一个是eclipse的jad插 ...
    小弟 从今天开始学习环信的sdk,主要是学习里面的设计思想,希望能通过本次学习,能有一个更深层次的认识;同时也希望能通过博客的方式,帮助到更多的人; 序言   为了让我这个计划能持久的维持下去,我给自己拟定了一个一个计划,这样保证能有条不紊的进行;     序号 优先级 预计完成时间
在做添加好友之间,必须要对xmpp的好友订阅有一定的了解,以前我不了解其中原理,盲目的做,以为添加到了各自的列表能够发消息就没事了,后来发现这样会导致很多问题,比如好友上下线无提醒,好友更新了vcard没有提示等一系列和好友相关的问题都出来了。   后来终于重视这个问题,查找相关资料,自行百度,发现很多资料都是只说了单边实现没有设计原理,事实上,那也不算真的实现了,现在我来说下原理和流程,希望对同是做即时通讯的同学们有所帮助;   我们知道,一个好友就对应一个RosterEntry,那我们看怎么来构造一个RosterEntry对象:     /** * Create ...
功能:登录冲突;   效果:弹出对话框,您的账号在xxx设备登录,您已下载;   实现步骤: asmack给我们提拱了一整套连接错误方案,其中就包括了登录冲突; 开始的时候,我还自己去写了一个,原理是上线的时候发送一个自定义的packet出去告诉登陆上的那个用户下线,后来发现这个方法行不通,因为另一端已经下线了,根本拿不到这条消息。   后来我想会不会在ConnectionListener里面就有呢?之前我实现登录的时候密码错误用的是捕获登录失败的时候抛出来的异常,所以这次变聪明了,首先从带异常的方法入手;找到以下两个方法:   public void connection ...
在以前的asmack版本中,断线重连是需要我们自己做的,原理很简单,分两种情况,一种是断网了,另外一种就是掉线了。   1.没有网络的情况下。 没有网络的情况下,如果想要在所有页面提示用户开启网络,一个一个页面写会很麻烦,其实我们可以写一个baseActivity,在这个里面做断网相关操作,其他的activity集成了这个类,那么就能在整个应用程序中弹出对话框,要想实现全局的对话框,使用这种方法挺好的。   无网络的监听主要是监听安卓系统的一个广播,叫做android.net.conn.CONNECTIVITY_CHANGE;具体逻辑如下:   *----1)在baseActiv ...
开发中的点滴,排版有点丑,博客也不常写,有点丑,别嫌弃。实在要嫌弃,网站有我照片,看完会心里平衡些。   场景:在开发一款xmpp的应用,需要获取好友资料变动并实时刷新。 1.确定问题:获取好友资料变动; 2.工具:spark和adt 3.解决问题:   我先用spark开启调试模式登录,在spark端和im移动客户端同时上线之后
1.Launcher通过Binder进程间通信机制通知ActivityManagerService,它要启动一个Activity 2.ActivityManagerService通过Binder进程间通信机制通知Launcher进入Paused状态。 3.Launcher通过Binder进程间通信机制通知ActivityManagerService,它已经准备就绪进入Paused状态,于是 ActivityManagerService就创建一个新的进程,用来启动一个ActivityThread实例,即将要启动的Activity就是在 这个ActivityThread实例中运行; 4.Ac ...
  如何单独编译安卓系统源码指定模块     昨天花了一天的时间编译android系统源码,我在想要是用家里那台老爷车编译起码需要几天时间了,好了,言归正传,这篇讲怎么编译单独的app,以及重新打包system.img。单独编译我们需要用到mmm命令。   1.获取mmm命令:  
  Linux下编译和安装android系统   上一篇文章说到我们已经下载好了android源码并解压,接下来我们terminal进到解压后的目录。利用make命令,开始编译android系统。   1.编译android
Global site tag (gtag.js) - Google Analytics