• <code id="58gs9"></code>

      <mark id="58gs9"></mark>
      1. 小秋魔盒是一个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;nineoldandorid开源动画库
        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>

        ֹ

      2. <code id="58gs9"></code>

          <mark id="58gs9"></mark>

          1. <code id="58gs9"></code>

              <mark id="58gs9"></mark>