首页
壁纸
直播
留言板
更多
视频
统计
友情链接
实用工具
Search
1
给孙小姐的一封情书
111 阅读
2
armUbuntu | uboot常用指令
60 阅读
3
Linux | Linux通过stty命令操作串口设备(linux串口操作命令)
54 阅读
4
armUbuntu系统构建
53 阅读
5
编译 openwrt 及初始配置-及部分排错
50 阅读
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
linux
Unity
Golang
Rust
Search
标签搜索
C#
handsome
Git
动态壁纸
开源
Unity3d
Unity
csharp
魔傲手记
累计撰写
117
篇文章
累计收到
18
条评论
首页
栏目
取次花丛懒回顾
默认分类
C#
MySQL
LabVIEW
Java
Android
PHP
Python
handsome
相册
百度地图
嵌入式
嵌入式Ubuntu
linux
Unity
Golang
Rust
页面
壁纸
直播
留言板
视频
统计
友情链接
实用工具
搜索到
117
篇与
的结果
2024-06-26
Android | Activity 启动 跳转 传值
启动 Activity不带参数 // 第一个参数是当前Activity 第二个参数是要启动的Activity Intent intent = new Intent(MenuActivity.this,MainActivity.class); startActivity(intent);带参数 Intent intent = new Intent(MainActivity.this, SecondActivity.class); // 可传递多个键值对形式的数据 intent.putExtra("key","啊吧啊吧啊吧"); intent.putExtra("key1","啊吧"); startActivity(intent);接受传递的值 String valueString = (String)getIntent().getExtras().get("key"); String valueString1 = (String)getIntent().getExtras().get("key1"); Toast.makeText(SecondActivity.this,"获取到的第一个参数为:"+valueString+"第二个参数为:"+valueString1,Toast.LENGTH_LONG).show();关闭当前 Activity finish();
2024年06月26日
9 阅读
0 评论
0 点赞
2024-06-26
Android | View Binding viewbinding 绑定视图用法
intro视图绑定 | Android 开发者 | Android Developers通过视图绑定功能,您可以更轻松地编写可与视图交互的代码。在模块中启用视图绑定之后,系统会为该模块中的每个 XML 布局文件生成一个绑定类。绑定类的实例包含对在相应布局中具有 ID 的所有视图的直接引用。在大多数情况下,视图绑定会替代 findViewById。设置说明注意:视图绑定在 Android Studio 3.6 Canary 11 及更高版本中可用。使用viewbinding的原因!配置在需要使用的Module的build.gradle里添加如下代码android { viewBinding { enabled = true } …… }用法在Activity的类下声明private ActivityMainBinding binding;在onCreate方法中调用inflate并赋值binding = ActivityMainBinding.inflate(getLayoutInflater());替换原来的R.layout.activity_main为binding.getRoot()注意:ActivityMainBinding名称会随Activity名称的变化而变化,自行观察public class MainActivity extends AppCompatActivity { private ActivityMainBinding binding; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); } }在需要操作控件时,只需binding.控件名称即可
2024年06月26日
7 阅读
0 评论
0 点赞
2024-06-25
Java || 获取当前时间并转为字符串
要将当前时间转换为字符串,您可以使用java.text.SimpleDateFormat类或java.time.format.DateTimeFormatter类。下面是使用这两个类的示例代码:使用java.text.SimpleDateFormat类:import java.text.SimpleDateFormat; import java.util.Date; public class Main { public static void main(String[] args) { SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = new Date(); String formattedDate = formatter.format(date); System.out.println(formattedDate); } }使用java.time.format.DateTimeFormatter类(Java 8及以上版本):import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; public class Main { public static void main(String[] args) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime dateTime = LocalDateTime.now(); String formattedDateTime = dateTime.format(formatter); System.out.println(formattedDateTime); } }以上两个示例代码中,我们先创建了一个日期时间格式化器,然后使用format()方法将当前时间格式化为指定的字符串格式。示例代码中使用的格式为"yyyy-MM-dd HH:mm:ss",您可以根据需要调整格式。输出结果可能是类似于"2021-03-24 14:45:25"的字符串,具体格式根据您指定的格式而定。
2024年06月25日
15 阅读
0 评论
0 点赞
2024-06-25
Android || TextView 追加内容,自动滚动到最底部
前置配置// 绑定前端视图 TextView logView = activity.findViewById(R.id.MainActivityAddLineMsg); // 设置是否可以手滑滚动,如果没有设置,则不能滑动 logView.setMovementMethod(ScrollingMovementMethod.getInstance());用法可以手动调用,然后滚动到最后一行// Tv 追加内容 logView.append("你好" + new Date() + "\n"); // 自动滚动 int offset=logView.getLineCount()*logView.getLineHeight(); if(offset>logView.getHeight()){ logView.scrollTo(0,offset-logView.getHeight()); }封装也可以封装成函数,自动滚动到最后一行传入 TV 和 str: void showMsg(TextView logView, String str){ @SuppressLint("SimpleDateFormat") SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS"); Date date = new Date(); String formattedDate = formatter.format(date); runOnUiThread(()->{ // 设置是否可以手滑滚动,如果没有设置,则不能滑动 logView.setMovementMethod(ScrollingMovementMethod.getInstance()); logView.append(formattedDate + str + "\n"); int offset=logView.getLineCount()*logView.getLineHeight(); if(offset>logView.getHeight()){ logView.scrollTo(0,offset-logView.getHeight()); } }); }用的时候需要 showMsg(TV, MSG);传入 str: void showMsg(String str){ @SuppressLint("SimpleDateFormat") SimpleDateFormat formatter = new SimpleDateFormat("HH:mm:ss.SSS"); Date date = new Date(); String formattedDate = formatter.format(date); runOnUiThread(()->{ TextView logView = activity.findViewById(R.id.MainActivityAddLineMsg); // 设置是否可以手滑滚动,如果没有设置,则不能滑动 logView.setMovementMethod(ScrollingMovementMethod.getInstance()); logView.append(formattedDate + str + "\n"); int offset=logView.getLineCount()*logView.getLineHeight(); if(offset>logView.getHeight()){ logView.scrollTo(0,offset-logView.getHeight()); } }); }用的时候需要 showMsg(MSG);
2024年06月25日
8 阅读
0 评论
0 点赞
2024-06-25
Android || 本地缓存,SharedPreferences使用详解
SharedPreferences概述SharedPreferences是Android平台上一个轻量级的存储辅助类,用来保存应用的一些常用配置。它提供了String,set,int,long,float,boolean六种数据类型。SharedPreferences的数据以键值对的进行保存在以xml形式的文件中。在应用中通常做一些简单数据的持久化缓存。SharedPreferences使用获取 SharedPreferences //获取SharedPreferences对象 SharedPreferences sharedPreferences = getSharedPreferences("appConfig",MODE_PRIVATE);getSharedPreferences方法参数详解name 存储文件名字mode 存储方式 其值的含义如下值说明Context.MODE_PRIVATE指定该SharedPreferences数据只能被本应用程序读、写Context.MODE_WORLD_READABLE指定该SharedPreferences数据能被其他应用程序读,但不能写Context.MODE_WORLD_WRITEABLE指定该SharedPreferences数据能被其他应用程序读Context.MODE_APPEND该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件;增加数据 //获取SharedPreferences对象 SharedPreferences sharedPreferences = getSharedPreferences("appConfig",MODE_PRIVATE); //获取Editor对象的引用 SharedPreferences.Editor editor = sharedPreferences.edit(); //将获取过来的值放入文件 editor.putString("userAccount", "admin@1okk.com"); editor.putString("userPassword", "admin"); editor.putInt("age", 30); editor.putBoolean("islogin",true); // 提交数据 editor.commit();点击添加按钮以后我们可以看到在 data/data/ 应用程序包名的 shared_prefs 文件夹下生成了一个 appConfig.xml 的 xml 文件。点击可以打开该文件,可以看到该文件保存了如下的数据。<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="userAccount">admin@1okk.com</string> <string name="userPassword">admin</string> <int name="age" value="30" /> <boolean name="islogin" value="true" /> </map>读取数据读取数据可以通过获取SharedPreferences对象,通过 SharedPreferences 对象可以获取存储的数据值,第二个参数一般是个默认值,表示当获取数据的时候没有该key则返回一个默认值。 //获取SharedPreferences对象 SharedPreferences sharedPreferences= getSharedPreferences("appConfig", MODE_PRIVATE); String name=sharedPreferences.getString("userAccount",""); int age = sharedPreferences.getInt("age",0); boolean islogin = sharedPreferences.getBoolean("islogin",true); Log.i("lucashu","name:"+ name +" age:" + age +" islogin:" + islogin);删除数据删除数据跟添加数据有点类似 也是通过Editor对象来完成。//获取SharedPreferences对象 SharedPreferences sharedPreferences = getSharedPreferences("appConfig",MODE_PRIVATE); //获取Editor对象的引用 SharedPreferences.Editor editor = sharedPreferences.edit(); //将获取过来的值放入文件 editor.remove("userPassword"); // 提交数据 editor.commit();修改数据修改数据跟增加数据类似,覆盖原来的数据即修改数据。 //获取SharedPreferences对象 SharedPreferences sharedPreferences = getSharedPreferences("appConfig",MODE_PRIVATE); //获取Editor对象的引用 SharedPreferences.Editor editor = sharedPreferences.edit(); //将获取过来的值放入文件 editor.putString("userAccount", "i@1okk.com"); editor.putString("userPassword", "admin1"); editor.putInt("age", 31); editor.putBoolean("islogin",false); // 提交数据 editor.commit();清除数据我们可以通过Editor对象的clear方法来完成清楚数据。//获取SharedPreferences对象 SharedPreferences sharedPreferences = getSharedPreferences("appConfig", MODE_PRIVATE); //获取Editor对象的引用 SharedPreferences.Editor editor = sharedPreferences.edit(); editor.clear(); // 提交数据 editor.commit();清除以后user.xml文件并不会删除,但里面的数据都没了SharedPreferences封装类package net.moao.handheldfixedpointwifi.utils.preferencesUtil; import android.content.Context; import android.content.SharedPreferences; /** * App 使用配置 轻量化存储 工具 * @author Moao.Net * @DATE 2024/6/25 */ public class AppConfig{ public static String PREFERENCE_NAME = "appConfig"; /**存储字符串*/ public static boolean putString(Context context, String key, String value) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); SharedPreferences.Editor editor = preferences.edit(); editor.putString(key, value); return editor.commit(); } /**读取字符串*/ public static String getString(Context context, String key) { return getString(context, key, null); } /**读取字符串(带默认值的)*/ public static String getString(Context context, String key, String defaultValue) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); return preferences.getString(key, defaultValue); } /**存储整型数字*/ public static boolean putInt(Context context, String key, int value) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); SharedPreferences.Editor editor = preferences.edit(); editor.putInt(key, value); return editor.commit(); } /**读取整型数字*/ public static int getInt(Context context, String key) { return getInt(context, key, -1); } /**读取整型数字(带默认值的)*/ public static int getInt(Context context, String key, int defaultValue) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); return preferences.getInt(key, defaultValue); } /**存储长整型数字*/ public static boolean putLong(Context context, String key, long value) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); SharedPreferences.Editor editor = preferences.edit(); editor.putLong(key, value); return editor.commit(); } /**读取长整型数字*/ public static long getLong(Context context, String key) { return getLong(context, key, 0xffffffff); } /**读取长整型数字(带默认值的)*/ public static long getLong(Context context, String key, long defaultValue) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); return preferences.getLong(key, defaultValue); } /**存储Float数字*/ public static boolean putFloat(Context context, String key, float value) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); SharedPreferences.Editor editor = preferences.edit(); editor.putFloat(key, value); return editor.commit(); } /**读取Float数字*/ public static float getFloat(Context context, String key) { return getFloat(context, key, -1.0f); } /**读取Float数字(带默认值的)*/ public static float getFloat(Context context, String key, float defaultValue) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); return preferences.getFloat(key, defaultValue); } /**存储boolean类型数据*/ public static boolean putBoolean(Context context, String key, boolean value) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); SharedPreferences.Editor editor = preferences.edit(); editor.putBoolean(key, value); return editor.commit(); } /**读取boolean类型数据*/ public static boolean getBoolean(Context context, String key) { return getBoolean(context, key, false); } /**读取boolean类型数据(带默认值的)*/ public static boolean getBoolean(Context context, String key, boolean defaultValue) { SharedPreferences preferences = context.getSharedPreferences(PREFERENCE_NAME, 0); return preferences.getBoolean(key, defaultValue); } /**清除数据*/ public static boolean clearPreferences(Context context) { SharedPreferences pref = context.getSharedPreferences(PREFERENCE_NAME, 0); SharedPreferences.Editor editor = pref.edit(); editor.clear(); return editor.commit(); } }
2024年06月25日
14 阅读
0 评论
0 点赞
1
...
4
5
6
...
24