- 博客(28)
- 收藏
- 关注
原创 Android MVVM
MVVM模式的原理是将应用程序的用户界面(View)与应用程序的数据(Model)分离开来,并通过ViewModel来协调它们之间的交互。总之,MVVM模式是一种优秀的软件设计模式,它将应用程序的用户界面(View)与应用程序的数据(Model)分离开来,并通过ViewModel来协调它们之间的交互。MVVM模式的核心是数据绑定。Android MVVM模式是一种软件设计模式,它将应用程序的用户界面(View)与应用程序的数据(Model)分离开来,并通过ViewModel来协调它们之间的交互。
2023-05-19 15:03:52 253 1
原创 Android 中为什么要使用 Binder 机制?
3.安全性:Android为每个应用分配了UID,作为鉴别进程的重要标志,Android内部依赖这个UID进行权限管理,包括6.0以前的固定权限和6.0以后的动态权限,传统IPC只能由用户在数据包里填入UID/PID,这个标记是在用户空间控制,没有放在内核空间,因此有被恶意篡改的可能,因此Binder的安全性更高。1.高性能:从数据拷贝次数来看Binder只需要进行一次内存拷贝,而管道、消息队列、Socket都需要两次,共享内存不需要拷贝,Binder的性能仅次于共享内存。
2023-05-09 20:52:47 313 1
原创 瀑布流
布局管理器:recyclerview.setLayoutManager(new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL));适配器: public List<String>list=new ArrayList<>();for (int i = 0; i <15 ...
2019-05-19 21:13:10 95
原创 recyclerview点击跳转页
适配器: Onclick aclick; public void setOnclick(Onclick aclick) { this.aclick = aclick; } public interface Onclick{ public void click(int position); } //点击事件 hold...
2019-05-19 21:10:17 3150
原创 拼接接口,shape
public static final String showurl="http://172.17.8.100/small/commodity/v1/findCommodityByKeyword"; @Override public void getModel(String keyword, final CallBack callBack) { Volley....
2019-05-19 20:10:40 173
原创 Git基本命令
一、 Git 常用命令速查git branch 查看本地所有分支git status 查看当前状态git commit 提交git branch -a 查看所有的分支git branch -r 查看远程所有分支git commit -am "init" 提交并且加注释git remote add origin git@192.168.1.119:ndshowgit push ...
2019-04-12 10:21:04 143 1
原创 动画
第一步:在value里面写attrs.xml <declare-styleable name="MyTextView2"> <attr name="myText" format="string"/> <attr name="myTextColor" format="color"/> <attr name...
2019-03-24 18:21:52 97
原创 自定义View球、渐变、旋转
第一步:在values下写attrs.xml文件 <declare-styleable name="MyView"> <attr name="myText" format="string"></attr> <attr name="myTextColor" format="color"></attr&...
2019-03-22 15:09:31 91
原创 流式布局
XML中的布局代码:<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:...
2019-03-22 11:30:05 71
转载 Glide设置缓存路径
原 glide 设置缓存路径 2018年01月11日 15:37:54 红色与青色 阅读数:4989 </div> <div class="operating"> <...
2019-03-21 18:28:37 1281
转载 自定义View
原 自定义View,有这一篇就够了 2016年06月03日 15:08:21 huachao1001 阅读数:59067 </div> <div class="operating"> ...
2019-03-18 16:19:47 122
原创 OkhttpUtil
package com.example.demo0316.util;import java.io.IOException;import okhttp3.Call;import okhttp3.Callback;import okhttp3.FormBody;import okhttp3.Interceptor;import okhttp3.OkHttpClient;import...
2019-03-18 07:55:22 284
原创 MVP框架
model层:package com.example.demo0316.m;import android.os.Handler;import android.os.Message;import com.example.demo0316.bean.ProductBean;import com.example.demo0316.util.OkhttpUtil;import com.g...
2019-03-18 07:54:46 77
原创 适配器
package com.example.demo0316.adapter;import android.content.Context;import android.support.annotation.NonNull;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;im...
2019-03-18 07:54:36 66
原创 主页
package com.example.demo0316;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import...
2019-03-18 07:54:04 98
原创 Git基本命令
git init 【初始化一个git项目】git status 【查看当前项目状态】git add . 【提交变动到缓存区】git commit -m "我是注释" 【提交代码】git push -u origin master 【提交代码到远程服务器】git checkout 要切换的分支名称 【切换分支】git checkout -b 你的feature名称 【...
2019-03-15 10:02:24 79
原创 AsyncTask实现异步请求
public class WorkUtil { public static boolean isNetConnected(Context context){ if (context != null) { ConnectivityManager manager= (ConnectivityManager) context.getSystemSer...
2019-03-03 19:39:58 195
原创 PullToRefreshListView实现上拉、下拉
public class Fragmenttwo extends BaseFragment { private PullToRefreshListView pull; private String url="http://api.expoon.com/AppNews/getNewsList/type/1/p/"; private int page=1; priv...
2019-03-03 19:38:12 88
原创 Activity抽取基类、Fragment抽取基类
public abstract class BaseActivity extends AppCompatActivity { @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); se...
2019-03-03 19:34:42 181
原创 Banner轮播图
第一步:加权限:1.implementation 'com.github.bumptech.glide:glide:3.7.0'2.implementation 'com.youth.banner:banner:1.4.9'第二步:写布局: <com.youth.banner.Banner android:id="@+id/banner"...
2019-02-26 19:49:21 106
原创 多条目适配器
package com.example.lian225_1.adapter;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;im...
2019-02-25 19:40:16 62
原创 XlistView
package com.example.lian225_1.fragment;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.annotation.Nullable;import android.s...
2019-02-25 19:39:32 71
原创 侧拉,ViewPager
package com.example.lian225_1;import android.support.annotation.NonNull;import android.support.design.widget.TabLayout;import android.support.v4.app.Fragment;import android.support.v4.app.Fragme...
2019-02-25 19:37:46 82
原创 主页面布局
<?xml version="1.0" encoding="utf-8"?><android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-au...
2019-02-25 19:36:32 254
原创 AsyncTask
package com.example.work1.fragment;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.annotation.Nullable;import android.suppo...
2019-01-01 18:00:47 80
原创 Fragmentone
package com.example.work1.fragment;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.annotation.NonNull;import android.support.annotation.Nullabl...
2019-01-01 15:01:14 99
原创 MainActivity
package com.example.work1;import android.os.Bundle;import android.support.annotation.NonNull;import android.support.design.widget.BottomNavigationView;import android.support.v4.app.Fragment;impor...
2019-01-01 14:59:30 189
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人