快乐赛车大战|快乐赛车之漂移

小秋魔盒是一个Android生活工具App项目源码

时间:2019-02-13 21:10 来源:互联网 作者:源码搜藏 浏览:收藏 挑错 推荐 打印

小秋魔盒是一个Android生活工具App项目源码

主要功能有?#30418;?#38395;资讯;微信精选美文;笑话趣图;星座运势;LED字幕;天气;日历;二维码;手电筒;老黄历。在开发中尽可能多的用了目前比较流行?#30446;?#26550;和库。

应用预览 | UI

图片依次是(多动图,加载?#19979;?#22270;片不显示刷新页面):
1.新闻模块(如果你下载的 apk 没有显示新闻模块,开启方式:设置页长按头部直至出现提醒 > 设置页长按底部直至出现提醒 > 退出重启应用)
2.文章模块 3.日历模块
4.天气模块 5.颜色画板 6.盒子布局
7.魔力数字排序列表 8.下拉果冻弹跳效果 9.引导页
10.手势图片 11.能力图表格 12.视差图片

粗略用法:

引入:

compile 'com.orhanobut:logger:1.15'

初始化:

Logger.init();//在application中

用法方式:

Logger.d("hello");  
Logger.e("hello");  
Logger.w("hello");  
Logger.v("hello");  
Logger.wtf("hello");  
Logger.json(JSON_CONTENT);  
Logger.xml(XML_CONTENT);  
Logger.log(DEBUG, "tag", "message", throwable);

参数设置:

Logger
.init(YOUR_TAG)                 // default PRETTYLOGGER or use just init()  
.methodCount(3)                 // default 2  
.hideThreadInfo()               // default shown  
.logLevel(LogLevel.NONE)        // default LogLevel.FULL  
.methodOffset(2)                // default 0  
.logAdapter(new AndroidLogAdapter()); //default AndroidLogAdapter  

GsonFormat & Gson json 数据解析

GsonFormat Github地址:https://github.com/zzz40500/GsonFormat
Gson Github地址:https://github.com/google/gson

引入:

compile 'com.google.code.gson:gson:2.7'

设想: 网络的检测逻辑的代码放在了BaseActivity中, 网络变化时,需要自动显示网络错误的布局主要继承这个Base类就行了, 同时这个类开放的有网络变化时?#24149;?#35843;接口。

自动显示网络错误的布局的几种设想: 第一种:当网络无连接时可以显示一个大的网络错误布局, 或者跳转到一个网络错误布局,当网络连接上的时候再自动跳转回来 (用户也可以通过点击返回,在无网络的情况下的页面)。 第二种:当网络无连?#21360;?#32593;络请求数据错误时都显示一个小警示布局提醒网络错误。 第三种:上面两种结合在一起,同时在网络请求数据错误的时候,?#22270;?#36733;一定数量的网络错误数据集合。

用法简述::

  • 1.Define events:

      public static class MessageEvent { /* Additional fields if needed */ }  
    
  • 2.Prepare subscribers: Declare and annotate your subscribing method, optionally specify a thread mode:

      @Subscribe(threadMode = ThreadMode.MAIN)  
      public void onMessageEvent(MessageEvent event) {/* Do something */};
    

Register and unregister your subscriber. For example on Android, activities and fragments should usually register according to their life cycle:

 @Override
 public void onStart() {
     super.onStart();
     EventBus.getDefault().register(this);
 }

 @Override
 public void onStop() {
     super.onStop();
     EventBus.getDefault().unregister(this);
 }
  • 3.Post events:

      EventBus.getDefault().post(new MessageEvent());
    

    第三方平台引入集中?#24471;?/code>

    1. 小米推送(本来没想用小米的,抵不住前几年小?#36164;?#26426;买的好名气大,我就用用试试。这里说一下和其他平台的不足点,目前发现小米推?#31570;?#25903;持富文本的)
    2. ShareSDK Mob 平台的社会化分享和登录
    3. SMSSDK Mob 平台的手机短信验证(感觉 Mob 平台名气稳健,一方面是名字取得好呀,一方面永久免费)
    4. 友盟统计 (这个小应用大部分都会用吧)

Slidinglayout 果冻弹跳效果

?#35272;祅ineoldandorid开源动画库
Slidinglayout其实就是一个自定义的布局

XML样式参数:
background_view 背景 view
sliding_mode 滑动模式,both为上下可弹跳,top 为顶部弹跳,bottom 为底部弹跳,默认为 both sliding_pointer_mode手指模式,one为只识别一个手指,more为支持多?#23500;?#21160;,默认为more top_max 当滑动模式为top时才有效,用于可滑动的最大距离,如"top_max:200dp",默认为-1(不限制)

常用API:
public void setSlidingOffset(float slidingOffset) 设置控件?#24149;?#21160;阻力,有效值为0.1F~1.0F,值越小阻力越大,默认为0.5F
public void setTargetView(View view) 设置控件的前景View
public void setBackgroundView(View view) 设置控件的背景View
public void setSlidingListener(SlidingListener slidingListener) 给控件设置监听,可以监听滑动情况
public void setSlidingMode(int mode) 设置滑动模式
public void setSlidingDistance(int max) 设置最大滑动距离,仅在top模式下有效

主导航页面(设计思路)

(目前应用的问题,个人感觉就是这个设计的有问题)

下面具有导航栏的主体app的设计思路。
由于这?#20540;?#33322;是一级导航,目前不建议在app的一级页面?#31570;?#29992; viewpager+Fragment 或导航栏+ Fragment 的形式设计。
建议采用?#25042;?nbsp;activity+include 布局 + android:launchMode="singleTask" + theme:<item name="android:windowAnimationStyle">@style/noAnimation</item> (取消activity跳转?#28304;?#30340;原生动画)的形式

这样的好处:能将每个一级功能分类页相互分离开来不相互影响。经过观察?#31570;?#24819;知乎采用的应该是这?#22336;?#24335;。这样的方式也能达到和上面一样的效果,同时又解决了Fragment带来的不便。

关于主导航页返回键的监听处理方式:
一种是在每个主导航页中设置监听,点击一次?#29615;?#24212;,连点击两次退出程序。
另外一种:点击一次返回到main主导航页面,在main页面点击一次直接退出程序(这也是知乎实现的方式,同?#24065;?#20026;在main页面点击一次就直接退出了,所以在其他主导航页面如果连续点击两次也能达到直接退出程序的效果。)

开源?#24471;?/h2>

本应用是上线应用,在上线之初并未开源,应许多用户和开发者朋友的呼吁后在 GitHub 上开源,因本应用本身就是我个人开发也并无商业性质,为了大家学习?#31570;?#32771;应用内各功能的具体实?#22336;?#24335;就毫无保留?#30446;?#28304;给大家。   因最近为修复部分 bug 在应用市场提交更新版本时,收到了应用市场平台“此APP已被打入盗版库,不予重复更新上传”的通知拒绝更新(想象可能是有人修改此源码重复提交应用上线了)。同?#24065;?#26377;部分朋友询问此项目采用?#30446;?#28304;协议。基于上面这些情况在这着重强调一下开源?#24471;鰨?/p>

  1. 本应用?#30446;?#28304;源码大家都可?#36816;?#24847;?#31895;?#20256;播、Fork,大家对应用内各功能的实现源码可以学?#23433;?#32771;;
  2. 《小秋魔?#23567;?#26159;上线应用,自第一个版本上线之时,就关于本应用的所有权、知识产权、侵权申明的相关信息在应用的 “设置” > “声明” 页面有明确详细?#24471;鰨?/li>
  3. 本应用目前不采用任何开源协议,我个人保留本应用的所有权利;
  4. 本应用不允许任何人对源码再整体封装、或修改部分代码或变异改编再次提交上线或使用等,严禁使用到商业目的用?#23613;?#27605;业论文、其他形式的使用?#21462;?/li>

快乐赛车大战