- 博客(26)
- 资源 (3)
- 收藏
- 关注

原创 Flutter架构理解
项目做得越多,越来越感觉框架底层的重要性,不说全部能看明白,但至少对自己用的技术框架由一个大的印象和概念一、先来一张Flutter整体架构图这就是flutter的整体框架结构了,当然我们其实重点关心Framework就可以了1.Engine:c/c++实现,flutter的核心2.Framework:由dart实现,我们开发就是在这一层Framework中的执行流程(垂直流水式执行)...
2019-06-26 21:38:47
1036

原创 flutter完整App项目(wanandroid-flutter)
公司从16年组建团队到现在,从零到十多人,我是第三个加入这个团队的,然后开始了股博士从设计原型,图标,取名,反反复复N多次的探讨最终定名为股博士(就是一个炒股软件),然后我们就开始了代码的设计,界面的搭建,经历四个月左右的时间项目总算是完成了,但遗憾的是最终公司倒闭,项目无法上线,这个项目还是花费了我个人许多精力的,所以记录一下里面使用到的技术点吧,算做个技术总结吧,先展示一下大致界面侧滑登录界面使
2017-05-04 21:22:52
1413
原创 Unity3d与Android通信
先交代几点 1.u3d可以直接打包成APK或android项目(项目可以在androidIDE中直接运行)供android二次开发 2.android目前最新也是官方支持的方式是使用arr文件替代jar,至于这两种文件最大的区别就是arr包含各种资源文件,jar需要单独拷贝资源文件(本文只介绍arr方式)一.Unity3d调用Android方法 先介绍一下u3d中调用android...
2018-04-20 18:38:42
2788
原创 同学,Markdown了解一下!
示例.png看到了状态栏为透明,并且可以轮播图控制,所以在度娘里学习了一下。一.改变状态栏为透明:结构图.png项目结构见上图,主要就操作的value和manifest文件。所以其他没有贴。下面开始一步一步操作1.在res中新建两个文件夹:values-v19,values-v21.2.在values-v19文件夹中新建style
2017-03-16 00:07:29
595
原创 AutoCompleteTextView(输入提示)和自定义键盘
因为最近项目需要使用到输入股票代码下面自动提示股票全名,和方便输入股票用的键盘,所以特地查阅的大量资料总算是搞出来了,特此记录一下方便以后查阅 AutoCompleteTextView系统控件简单使用<AutoCompleteTextView android:layout_width="match_parent" android:layout_height="wrap_co
2017-03-02 23:14:22
1154
原创 2.工厂模式
**一.概述(引入项目)** 支持的图形 1. Line Chart 折线图 2. Bar Chart 直方图 3. Pie Chart 饼图 4. Bubble Chart 气泡图 5. Candle Stick Chart 蜡烛图(用于展示金融数据时常称为K线图) 6. Radar Chart 雷达图 7. Cu
2017-03-01 20:41:08
601
原创 1.单利模式Singleton
话说onTouch也可以记录按下抬起等简单的手势,但是太过简单且考虑到生命周期等的原因,故google专门为我们提供了一个手势类(GestureDetector) 它有两个接口 : 1.OnGestureListener
2017-02-28 00:59:43
286
原创 轻松实现轮播(AndroidShixinBanner)
参考了ConvenientBanner RollViewPager这两个开源库详细使用方法点击:AndroidShixinBanner
2017-01-25 09:19:02
306
原创 Android studio下将项目代码上传至github包括更新,同步,创建依赖
一、开篇本文讲如何使用Android Studio将项目上传到github,虽然讲上传github的文章很多,但是大部分都是使用Git Bash命令行,虽然效率高些,但是有点麻烦,而且AS已经为我们很好的集成了这一功能,干嘛还要去记那么多命令呢?二、安装git不多说,就是下载客户端安装,放个链接下载git三、配置Android Studio中的git(一大波儿....图)安
2017-01-24 15:15:51
2084
原创 实现上下文字滚动的效果
思路:利用handler的post方法传入runnable达到循环滚动, handler.removeCallbacks(runnable);停止滚动,核心代码都在runnable中创创建,使用属性动画实现翻滚public class Myshangxiagun extends LinearLayout { private TextView mBannerTV1; private T
2017-01-23 16:40:39
872
原创 OKhttp使用
之前就听说OKhttp很火,后面自己参考了一些资料学习了一下,最后又学了看了Retrofit的使用,并且还用在了现在的项目中,最后个人感觉Retrofit确实感觉比较正式,高度解耦,适合大型且后台接口稳定(不能频繁更换接口)很多人维护的项目,在一些小项目中使用反而增加了麻烦程度,所以今天特地总结一些OKhttp的使用。下面代码片段中有一段是写在Application中的,在实际项目中也是这样用的,只
2017-01-12 22:03:29
498
原创 使用socket接收服务器推送的消息
项目中要实现在APP中接收服务端推送过来的json数据,并解析显示到用户界面。要实现此功能就必须和服务端保持长连接. 下面就我的socket实现的长连接,接收到消息后解析再展示给用户的案例/**handler中处理接收到的socket消息*/ Handler handler = new Handler() { @Override public void ha
2017-01-10 20:29:18
6567
原创 Adnroid中的数据存储大全,以及ActiveAndroid的简单使用
进行android开发,势必会用到本地存放的功能,让APP持久化,不是单机的,下面介绍Android中的几种保存数据方法. 一. SharedPreference(保存一些变量值,登录信息等的简单信息) 通过Activity自带的getSharedPreferences方法,可以得到SharedPreferences对象。 public static void putBoolean(Str
2017-01-09 07:15:28
654
原创 android中mvc,mvp,mvvm的实现
先说一下为什么把这个三个模式放在一起写,原因很简单,因为这三种模式太常见了,基本开发中有可能其他模式遇都遇不到,但是这三种真的是很常见的,所以一起归纳一下吧。 单利模式 懒汉式:需要注意饿汉式是存在线程安全问题的,解决办法也很简单,直接加上方发锁OKpublic class Demo { private Demo demo = null; private Demo() {
2016-11-10 23:42:44
368
原创 4.原型模式Prototype
一.冒泡 思路:外层循环是总次数,内层循环从0开始后后一个数依次对比,若大(或小)则交换位置,直到外层循环跑完时,排序完成for(int i=0;i<data.size();i++){//外层循环控制总循环次数,size可以减1,因为最后一个不用比较,一定是最大或最小//内层循环是冒泡的核心,即前一个和后一个比,选出大或小,再和后一个比,直到选出最大或最小后,再进行下一次循环 for(in
2016-11-10 23:28:10
270
原创 5.建造者模式Builder
转自:http://blog.youkuaiyun.com/booirror/article/details/7707551算法的时间复杂度和空间复杂度合称为算法的复杂度。1.时间复杂度(1)时间频度 一个算法执行所耗费的时间,从理论上是不能算出来的,必须上机运行测试才能知道。但我们不可能也没有必要对每个算法都上机测试,只需知道哪个算法花费的时间多,哪个算法花费的时间少就可以了。并且一个算法花
2016-11-08 23:17:34
257
原创 Android中MVP实现实例
MVC的工作原理:当用户发出事件的时候,view层会发送指令到controller层,接着controller调用model层更新数据,更新完数据后直接显示在view层上。 缺点:controller既充当了控制层,又充当了view层,既当爹又当妈的感觉 解析:在android中视图布局xml是通过activity展示加载的,当我们在写activity时,遇到需要联网或操作数据库的时候
2016-11-07 10:50:52
334
原创 高效正确的使用Gson
gson的基本用法:反序列化:将json转换为类Gson gson = new Gson();Data i = gson.fromJson("100", Data.class); Listlist=gson.fromJson(json,new TypeToken>() {}.getType()); //将json转换为集合String[] strings = gson.fromJ
2016-11-03 16:02:06
820
转载 代码虐我千百遍,我待代码如初恋。
团队里的程序员张三丰要离职,领导让你接手他的工作,叮嘱你一定要尽快掌握张三丰的代码。你的心儿扑通扑通地跳动,你的脑海里萦绕着三个选择:是拒绝呢,还是拒绝呢,还是拒绝呢?你强颜欢笑但实际上心烦意乱怨气纵横——接手别人的代码,那可是程序员要面对的最痛苦最可怕的事啊。你记起江湖前辈黄药师说过的一句话:如果你恨他,就让他去接手别人的代码。你的内心是拒绝的,可是你却不由自主地说出了“可以啊”
2016-08-19 09:32:00
2649
原创 6.适配器模式Adapter
RecycleView是5.0推出的新控件,完美替代ListView,号称艺术般的控件!这篇文章主要介绍如何使用以及它的功能。 但是完美的东西都不太真实,就像蒙拉丽莎,总要有点缺陷才是最完美的,,,RecycleView中最不完美的就是没有item的点击事件(美中不足),解决办法有两种,下面会说明。首先需要导包compile 'com.android.support:
2016-08-07 18:06:45
408
2
转载 android Studio debug
有人说Android 的调试是最坑的,那我只能说是你不会用而已,我可以说Android Studio的调试是我见过最棒的。好了开始写一个简单的调试程序,我们先来一个for循环for (int i = 0; i 10; i++) {//获取当前i的值 int selector = i; //打log查看当前i的值(此步多余,实际开发请忽略) Lo
2016-07-30 00:40:25
316
原创 同学,UML类图了解一下!
转自:http://blog.youkuaiyun.com/lmj623565791/article/details/38238749,本文出自:【张鸿洋的博客】1、ListView下拉刷新快速入门pull-to-refresh对ListView进行了封装,叫做:PullToRefreshListView,用法和listview没什么区别,下面看demo.布局文件:
2016-07-25 08:20:14
9568
1
原创 四大组件之广播BroadcastReceiver
可以把BroadcastReceiver比喻成一个全局的超级大喇叭,用于接受来自系统或程序发送的广播,发送时,是利用Intent传递,且分为普通广播(异步操作,接收没有先后顺序)和有序广播(接受有先后顺序,前一个接受者可以中断或添加广播消息)BroadcastReceiver的生命周期只有10秒左右,所以不建议在onReceive()内执行耗时操作发送广播: 发送普通广播:
2016-07-17 22:59:12
390
原创 8.组合模式Composite
效果图使用ViewPager写了一个人人网引导页,其实就只是用了几张人人网的图片···大致步骤和思路:创建3个有背景图片的XML,添加进入ViewPager,利用代码创建小正方体的布局并添加进集合,在ViewPager的监听中动态的关联小正方体集合,创建系统API pagerTabStrip,并在ViewPager适配器中添加getPageTitle回调方法(界面上
2016-07-16 00:50:08
314
原创 7.桥接模式Bridge
ListViewListView属性divider:在listView控件中添加分隔线,可以是图片或颜色线条dividerHeight:分割线高度listSelector:点击单个item时的显示效果,图片或颜色ListView代码中Adapter.notifyDataSetChanged():更新当前ListView的数据遍历ListViewListView.ge
2016-07-01 23:46:34
287
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人