A simple oauthv2 model for android by webview 一、以Android+WebView为例,简要说明一下OAuth2.0认证授权过程:
1,以在开放平台注册应用的appId,appSecret,callbackUrl,组装认证url,以WebView为桥梁,向开放平台认证中心发起认证请求。
2,认证中心判断应用来源,合法则跳转到用户授权界面(网页),用户输入帐号及密码并同意授权则向认证中心发起授权。
3,认证中心对授权请求进行处理,以callbackUrl加参数的方式Rediret,这时拦截Rediret url后附带的参数即可知认证结果。
4,认证成功将获得openid,accesstoken,refreshtoken,expiretime等参数,用这些参数就可以向开放平台的业务层接口发起请求了。
注:开放平台各异,OAuth2.0中appSecret也可能没用到,也不一定都返回了open_id这东西。
二、测试
运行apk后即可模拟认证授权,输入admin,888888就可以授权成功了。
提示:尽量用1.9.x版本的RubyInstaller,已含运行Jekyll所需的yajl依赖包。RubyInstallerv2.0以上版本需自行安装yajl-ruby,容易出错。
一、安装Ruby执行环境
rubyinstaller-1.9.3-p392.exe,安装,很简单。
DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe,解压到C:\DevKit,然后cmd进入该目录执行:
ruby dk.rb init
ruby dk.rb review
ruby dk.rb install
ruby --version
输出ruby 1.9.3p392 (2013-02-22) [i386-mingw32]则表明Ruby安装成功。
二、安装Rdiscount及Jekyll
gem install rdiscount
gem install jekyll
jekyll --version
输出类似Jekyll 0.12.1信息则Jekyll安装成功。
三、执行Jekyll
进入Jekyll所在目录
jekyll --server
浏览器输入http://localhost:4000/看到设置的主页则Jekyll运行成功。 备注:
Jekyll网站文件最好以UTF-8无BOM格式存储 。
Jekyll运行报invalid byte sequencd in GBK时,可修改jekyll安装目录下convertible.rb第28行为self.content = File.read(File.join(base, name),:encoding=>"utf-8")即可。(C:\Ruby193\lib\ruby\gems\1.9.1\gems\jekyll-0.12.1\lib\jekyll\convertible.rb)。
Jekyll运行报Liquid error: incompatible character encodings: UTF-8 and GBK时,可添两个环境变量:LCALL=enUS.UTF-8,LANG=en_US.UTF-8。(在安装ruby成功后添加)
1.提交修改文件 Team->commit
2.更新仓库文件 Team->Fetch-from-Upstream
3.Rebase, 修改冲突文件 Team->Rebase,(fix diff)
4.修改文件添加至索引 Team->Add to index
5.继续Rebase Team->Rebase->continue rebase
6.Push到服务器 Team->Push-to-Upstream
Android推荐实现Parcelable接口而非Seriable接口来实现对象的序列化。但当Parcelable中含有列表List时,则要求列表中的信息类是Seriable的。Parcelable接口实现类除了必须实现writeToParcel(Parcel dest, int flags)方法外(describeContents()默认即可),还需创建一个类型为Parcelable.Creator< T > 名为CREATOR的public静态变量(createFromParcel(Parcel source) 方法也是必须的)。
Perst的介绍文字颇多,但应用例子却不好找。关于Perst的介绍文字大家去Google或百度找吧。测试发现,在大数量(1w及以上)情况下,Perst性能的确远超Sqlite。下面讲解一下Perst的简单操作过程,并附上一测试例子。
1、建立信息类;
2、建立索引Root类;
3、进行数据库操作。
Github:https://github.com/panxw/android-develop-toolkit/tree/master/AndroidPerstTutorial
摘自某ANDROID开发书籍,具体记不清楚了。个人比较认同:
1,随时记录自己手头的好点子。
2,并非一个功能完善的应用才能赚钱。
3,在发布各版本的ahap版本过程中完善功能。
4,有困难查资料。(Google)
软件体系架构中,一般分层结构:表示层,业务逻辑层,数据访问层。目的在于提高程序设计及维护效率。
在一本名为《工作DNA》的书中写的几方面。我觉得蛮有道理,于是写摘下: