![](https://img-blog.csdnimg.cn/20210813114453180.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
androidNote
萌新的安卓学习之路
Trycat.
这个作者很懒,什么都没留下…
展开
-
Android Adapter 点击按钮展示更多数据遇到的坑
从网络请求得到数据的不要追加新集合,直接使用sulist重新设置adapter 不用使用adapter.notifyDataSetChanged()进行更新不知道是什么bug会导致数据重复,这样写法得再加个判断,否则找不到数据再渲染会导致闪退。 if (rows.size() >= i + 5) { recy.setAdapter(new MyRecyAdapter(rows.subList(0, i = i + 5))); ..原创 2021-09-04 23:02:07 · 203 阅读 · 0 评论 -
android之Gaile更新头像
头像每次上传一定不能重复命名,否则Gaile会自动加载缓存里面的图片,而不是服务器上传后的图片,需要每次头像不重名,这就可以图片名字加一个时间,这样每次上传的图片名字都不一样,获取的时候也不一样,那么如何获取,很简单,数据库更新每次上传头像名字+时间的图片,然后 获取请求只需要查询该图片名字字段,条件就是用户名的名字。...原创 2021-08-15 22:44:21 · 95 阅读 · 0 评论 -
超简单实现:Android头像拍照或相册上传
网上很多写的过于复杂,这个是我写过最简单的方式。先导入一个强大的图片加载框架,Glide点击上传头像实现的方法 /*打开图库*/ Intent intent = new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); //处理返回集 startActivityForResult(intent, 2); 点击拍照实现的方法 打开相机 Intent.原创 2021-08-13 11:43:55 · 1313 阅读 · 0 评论 -
Android实现头像拍照或相册上传
一、相机拍照先配置里添加文件读写权限 <!-- 读写文件权限 --><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />在res下面的xml新建一个file_paths配置文件<?x.原创 2021-08-11 21:58:52 · 764 阅读 · 2 评论 -
Android之PopupWindow制作底部弹窗
先创建一个底部弹窗的资源文件<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:background="#fff" android:layout_height="match..原创 2021-08-11 17:59:21 · 847 阅读 · 0 评论 -
Android Adapter notifyDataSetChanged()更新失败的原因
研究了一上午,这个方法更新是集合里的新增的元素数据,意味着只能给集合.add添加数据才能用这个方法,不然就会失败。如果你把你要渲染的集合列表全部重新添加了,那么还是用setAdapater的方法吧。...原创 2021-07-27 10:38:37 · 189 阅读 · 0 评论 -
Android之json解析 Gson包的使用
先new一个GsonGson gson = new Gson();调用方法,左边是要解析的json,右边new一个TypeToken,泛型就是json解析后的对象,要一一对应List<City> cities = gson.fromJson(json, new TypeToken<List<City>>() {}.getType());如果有数据头,那么还是一样的,只不过泛型要先写数据头的对象,具体哪个字段带你要解析的json对象,就再带...原创 2021-07-24 12:01:34 · 436 阅读 · 1 评论 -
Android之okHttp的简单用法
一共三步,先看前两步,先new一个okHttp,再new一Request.Builder().url(填网页url).get().build() 然后这里是get请求,最后build。 OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url(url).get().build();第三步就是new一个回调,成功和失败 client.newCa..原创 2021-07-24 11:53:08 · 183 阅读 · 0 评论 -
Android之实现Servlet
被搞了四天心态,终于把Servlet成功实现了,主要是jdbc没连接成功,问题在于jdbc版本最好和MySQL版本一致,整体流程是先写一个properties,里面写入连接jdbc的参数,如driver,url,username,password,然后写一个BaseDao的类,获取连接资源private static String url=null; private static String user=null; private static String password =null; /原创 2021-07-19 20:50:50 · 756 阅读 · 3 评论 -
Android之分类显示
首先要连接jdbc,这里有个莫名其妙的错误一直解决不了,但是先跳过了,重要的是思路和流程。连接jdbc,将内容转换成json字符串。先写连接数据库获取数据的方法,当调用Serlvet的时候调用方法连接数据库进行操作public class CategoryDaoImple implements CategoryDao { @Override public List<Category> getCategoryList() { Connection原创 2021-07-17 09:37:09 · 229 阅读 · 0 评论 -
SiderBar 设置事件跳转
设置自定义监听事件,先声明一个接口,再传一个方法 private OnTouchingLetterChangedLister letterChangedLister; private OnTouchingLetterChangedLister lister; private int choose; /*定义监听事件*/ public interface OnTouchingLetterChangedLister{ public void onTou.原创 2021-07-12 12:13:39 · 263 阅读 · 0 评论 -
SiderBar的绘制
首先要写一个类来继承VIew 必须把所有方法都实现,否则运行的时候会运行报错。public class SiderBar extends View { public SiderBar(Context context) { super(context); } public SiderBar(Context context, @Nullable AttributeSet attrs) { super(context, attrs); }原创 2021-07-12 11:30:10 · 334 阅读 · 0 评论 -
java渲染城市定位
@Override protected List<City> doInBackground(Void... voids) { HttpClient client = new DefaultHttpClient(); HttpPost httpPost = new HttpPost(Coasts.City_data_URI); try { HttpResponse h...原创 2021-07-10 20:46:31 · 119 阅读 · 0 评论 -
android之城市定位
先实现LocationListener接口 会重写四个方法 @Override public void onLocationChanged(@NonNull Location location) { } @Override public void onStatusChanged(String provider, int status, Bundle extras) { } @Override publ...原创 2021-07-08 13:06:11 · 710 阅读 · 0 评论 -
FrameLayout的用法
表单EditText:hiht:主要是设置提示的文本信息textColorHint:设置提示文本信息的颜色inputType:设置输入的类型singleLine:限制行数android:selectAllOnFocus="true"获取焦点,选取文本框所有文本ImageView:src:图片引用scaleType:设置缩放类型RadioButton:单选按钮 可以配合 RadioGroup使用button="@null"给取消默认样式...原创 2021-07-07 09:40:16 · 426 阅读 · 0 评论 -
Android的三种事件监听方式
接口对象:public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button btn; private TextView text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceSta原创 2021-07-07 09:15:16 · 149 阅读 · 0 评论 -
ViewPAger实现跳转一次后不再跳转
需要用到数据存储SharedPreferences,可以写两个方法 分别获取和放入,然后登录初始化页面,判断是否是第一次登录,因为第一次get没有存储值,所以默认为true,然后执行跳转到第一次的欢迎页面,然后再设置成false,这样下一次再读取就是false,就执行else第二条语句,直接跳转到主页面。SharedPreferences的get和put方法的写法,如果是写成工具类,那么获取连接需要设置成参数,调用的好填参数。存储名字和key值可以设置成常量调用,也...原创 2021-07-06 23:29:47 · 66 阅读 · 0 评论 -
PagerAdapter的用法
该适配器可以让图片产生滑动效果,需要写入需要的图片,创建一个集合将图片放进去 views = new ArrayList<>(); ImageView view1 = new ImageView(this); ImageView view2 = new ImageView(this); ImageView view3 = new ImageView(this); view1.setBackgroundResource(R.dr原创 2021-07-06 22:55:17 · 2002 阅读 · 1 评论 -
实现登录页面
实现登录页面,设计了三个Chebox检查记住状态,遇到的难点有几个,SharedPreferences 进行存储数据,if条件需要设置 public EditText nameID; public EditText passwordID; public Button login; public CheckBox rem_name; public CheckBox rem_password; public CheckBox rem_login;...原创 2021-07-01 21:56:35 · 482 阅读 · 0 评论 -
内部类设置监听事件
创建一个内部类,继承接口 View.OnClickListener当继承接口时,接口的方法也会重写,这样就可以自定义监听事件了。 private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);原创 2021-06-30 18:08:59 · 88 阅读 · 0 评论 -
认识表单控件
EditText:hiht:主要是设置提示的文本信息textColorHint:设置提示文本信息的颜色inputType:设置输入的类型singleLine:限制行数android:selectAllOnFocus="true"获取焦点,选取文本框所有文本ImageView:src:图片引用scaleType:设置缩放类型RadioButton:单选按钮 可以配合 RadioGroup使用button="@null"给取消默认样式再利用Drawable自己设置原创 2021-06-30 17:55:19 · 73 阅读 · 0 评论 -
初学Android
认识布局:比较常用的有两个布局,一个线性和相对布局,线性布局的特点: 可以设置orientation属性,分别是vertical 垂直排版,horizontal,横向排版。 能分配权重,子元素设置weight,分配权重,这个属性能使子元素自动分配父元素的空间,不需要手动再去写死他们的宽高,可以再设置padding填充空间,这样分配的子元素之间就有了间距。 设置gravity,可以让里面的元素根据所选的属性进行居中等等,这个需要给父盒子设置,子元素设置的话,根据它自身的内容进原创 2021-06-30 16:06:15 · 46 阅读 · 0 评论