Android
一起学习Android开发
sichuanwww
VegaPrime/Android/LabWindows/Python/ThreeJS
展开
-
EditText多行滚动
的实际上非常简单,容易出错。1 布局文件中设置 <EditText android:id="@+id/editRet" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textMultiLine" android:scrollbars...原创 2021-10-14 11:23:09 · 650 阅读 · 0 评论 -
屏幕滑动控件ScrollView
用一般的布局,屏幕不能上下或左右移动,需要使用专门的根布局。1.垂直滚动:ScrollView改变布局文件的根布局:把根布局改成:ScrollView注意:ScrollView的子元素只能有一个,所以得增加一个LinearLayout布局,把其他按键放在这个LinearLayout中,那么ScrollViewd的子元素就只有一个LinearLayout了,而LinearLayout的子元素不限制。没有滚动设置就无法看到下部控件使用垂直滚动后,可以显示全部控件<?x..原创 2021-10-14 10:48:24 · 296 阅读 · 1 评论 -
服务器图片文件列表提取
先看看效果 利用下拉列表,显示获取的图片文件列表,然后选择图片进行显示获取服务器端图片文件列表需要移动端和服务端的双向配合 1 服务器端代码 using Newtonsoft.Json; //C#中处理JSONpublic partial class Default5 : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { i...原创 2021-10-11 10:44:21 · 193 阅读 · 0 评论 -
Spinner下拉列表的使用
直接来一个效果Spinner下拉列表的使用1 Spinner本身的布局文件 <Spinner android:id="@+id/spinner2" android:layout_width="match_parent" android:layout_height="wrap_content" android:spinnerMode="dropdown" />2 Spinner两个布局文件 正常下拉展示文件item_dr...原创 2021-10-11 10:10:18 · 426 阅读 · 0 评论 -
显示网络图片
显示网络图片非常简单,不需要服务器端的任何代码,只需一个连接即可。布置好基本的显示界面,一个图片显示控件ImageView,一个文本显示控件和一个按钮,直接调用下面的异步线程即可 //显示网络图片异步线程 private class WxpDisplayNetworkPicTask extends AsyncTask<String, Integer, String> { // private Bitmap bmp = null;原创 2021-10-08 15:25:41 · 95 阅读 · 0 评论 -
格式化Android Studio源代码
VC有ALT+F8可以格式化源代码,非常方便。强大的Android Studio难道没有吗?有的,只是你没发现。 左边树形结构中,右键弹出菜单Reformat Code。 右键既可以选择目录,也可以选择单个文件;目录则是该目录下的所有文件起作用,单个文件则是只对选中的文件起作用。弹出窗体,勾选选项,Run 即可。运行后,给是非常标准化。再也不怕别人鄙视代码格式混乱了。其实,这个格式化对布局文件XML也有同样的作用,可以自己去试试。...原创 2021-10-08 15:00:59 · 232 阅读 · 0 评论 -
相册浏览图片上传服务
1 权限 基本的用户权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.INTERNET" />应用权...原创 2021-10-08 09:54:56 · 88 阅读 · 0 评论 -
选取相册图片并显示
主要是访问权限和数据转换1 访问权限 在Manifest中授权 <uses-feature android:name="android.hardware.camera" android:required="true" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <use...原创 2021-09-28 11:20:22 · 126 阅读 · 0 评论 -
AsyncTask的参数介绍及使用
AsyncTask<Params,Progress,Result>的三个参数doInBackground(Params...)publishProgress(Progress...)onProgressUpdate(Progress...)onPostExecute(Result)看这四个方法的参数你就知道上面的三个参数是给谁用的了!--------------------------------------------------------------------..原创 2021-09-11 11:07:18 · 377 阅读 · 0 评论 -
AsyncTask异步任务类
先来一个效果然后再来代码/** * 步骤1:创建AsyncTask子类 * 注: * a. 继承AsyncTask类 * b. 为3个泛型参数指定类型;若不使用,可用java.lang.Void类型代替 * 此处指定为:输入参数 = String类型、执行进度 = Integer类型、执行结果 = String类型 * c. 根据需求,在AsyncTask子类内实现核心方法 */ pri..原创 2021-09-10 14:43:20 · 233 阅读 · 0 评论 -
Notification系统提示信息
提示信息还是很方便的,直接上代码,下列代码是在Fragment中执行的,其中的this都被getActivity()代替了。//发送提示信息 private void sendNotify() { NotificationManager notificationManager = (NotificationManager) getActivity().getSystemService(Context.NOTIFICATION_SERVICE); Int原创 2021-09-10 09:14:47 · 129 阅读 · 0 评论 -
MutableLiveData(LiveData) 与 ViewModel结合
先看实际效果,滑动进度条,下面的文本显示进度数字。---------------------------------------------------------------------------------一、LiveData是干什么的? 由于LiveData和MutableLiveData都是一个概念的东西(只是作用范围不同)所以就不重复解释了,直接理解LiveData就可以明白MutableLiveData 直接理解LiveData的字面意思是前台数据,其实这其实是很准确的..原创 2021-09-07 15:20:04 · 1106 阅读 · 0 评论 -
进度对话框ProgressDialog
进度对话框简单实用,1 简单设置private ProgressDialog pDialog ;pDialog = new ProgressDialog(getActivity());pDialog.setMessage("努力加载中………………");//对话框默认是可以取消的,也就是点击其他地方,对话框消失//设置改属性后,对话框不能取消pDialog.setCancelable(false);pDialog.show();2 使用 一般在线程或定时器里修改...原创 2021-09-03 09:45:27 · 93 阅读 · 0 评论 -
Log信息的查看
为什么我查看Log的输出信息是在Run而不是Logcat ????难道我的是假的AS原创 2021-09-03 08:52:25 · 88 阅读 · 0 评论 -
切换Fragment的方法
1 简单粗暴replace 该方法只是在上一个Fragment不再需要时采用的简便方法。不需要类成员变量,每次替换掉当前的fragment,每次从零开始,不保存数据。//切换不同的fragment private void replaceFragment(Fragment fragment) { FragmentManager manager = getSupportFragmentManager(); FragmentTransaction fra..原创 2021-09-02 16:04:44 · 2605 阅读 · 0 评论 -
Message的使用
一 消息机制 1、为什么要使用Message机制主要是为了保证线程之间操作安全,同时不需要关心具体的消息接收者,使消息本身和线程剥离开,这样就可以方便的实现定时、异步等操作。 2、Message机制原理示意图:Activity <---------------> EHandler<-----> Looper<-----> MessageQueue IntentReceiver<-----> EHandl...原创 2021-09-02 11:14:16 · 2887 阅读 · 0 评论 -
定时器timer的使用
本质上都是线程的使用,使用定时器timer则结构比较清晰1 定义定时器Timer//定时器Timer timer = new Timer();2 定时器任务TimerTask//定时器任务TimerTask timertask = new TimerTask() { //(这个run 的使用就是开启了一个新的线程, // 在这个子线程中是无法更新UI 的,比如更新TextView 的显示内容。) @Override public void run().原创 2021-09-02 10:53:26 · 836 阅读 · 0 评论 -
fragment设置监听事件
分成多个fragment的目的就是分块操作,如果都在activity里面设置监听事件,代码数量较为庞大。每一个fragment自己设置监听事件,条理更为清楚。fragment的布局文件<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_pare原创 2021-09-01 16:52:29 · 1563 阅读 · 0 评论 -
ActionBar的简单使用
1 确保使用ActionBar//getSupportActionBar().setDisplayHomeAsUpEnabled(true);启用箭头2 设置启用菜单 //设置ActionBar菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.bottom_nav_menu, menu); retur..原创 2021-09-01 11:26:25 · 251 阅读 · 0 评论 -
BottomNavigationView菜单项文字
默认情况下,三个菜单项同时显示文字和图标,多于三个时只显示图标,不显示文字。处理办法: 1 design:28.0.0 以下版本处理方式BottomNavigationView navigation = (BottomNavigationView) findViewById(R.id.navigation);BottomNavigationViewHelper.disableShiftMode(navigation);2design:28.0.0 处理方式<andr...原创 2021-09-01 10:13:43 · 165 阅读 · 0 评论 -
BottomNavigationView显示彩色图标
其实就一句代码BottomNavigationView navView = findViewById(R.id.nav_view);navView.setItemIconTintList(null);当然,前提是你的图标资源是彩色的,导入png或jpg图片即可在mipmap右键菜单里选择show in Explorer,然后直接把文件拷贝进去即可效果图...原创 2021-08-31 11:32:56 · 404 阅读 · 1 评论 -
BottomNavigationView底部导航改造
1系统样例基本解析 -----------------------------------------------------------------系统自带的例子工程可以采用底部导航功能,但其默认采用导航文件进行多个fragment切换里面利用了导航文件moblie_navigation.xml进行绑定,然后在主界面的布局文件中进行了引用,最后在主界面的初始化函数里进行了代码设置这样就可以进行导航功能的切换,全部自动生成,无需添加任何代码。2 样...原创 2021-08-31 10:17:25 · 210 阅读 · 0 评论 -
BottomNavigationView底部导航条解析
1 新建一个fragment,设置id为navigation_black2 在menu文件bottom_nav_menu.xml里增加一项<item android:id="@+id/navigation_black" //菜单项ID android:icon="@drawable/ic_launcher_foreground" //图标 android:title="@string/title_black" />...原创 2021-08-30 11:17:29 · 125 阅读 · 0 评论 -
多Fragment的布局使用
直接上效果,y一个Activity,三个按钮,三个Fragment,一个按钮对应一个Fragment 1 布局文件 垂直布局, 上面为一个LinearLayout,占1份高度,包含三个按钮,平均分布。 下面为一个FrameLayout,占20份高度,用于显示具体的Fragment。<?xml version="1.0" encoding="utf-8"?>...原创 2021-08-19 16:27:20 · 828 阅读 · 1 评论 -
Adroid中的比列布局
直接上例子如图所示,屏幕的上下分为LinearLayout,FrameLayout两部分,高度比列为1:20代码说明为: <LinearLayout android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal"><FrameLayout android:id="@+id/...原创 2021-08-19 16:05:13 · 223 阅读 · 0 评论 -
Android中的提示对话框
Toast一闪而过,有可能被忽略掉,用AlertDialog则是以对话的形式出现,需要确认后才会消失。但AlertDialog稍显复杂,可以使用最简单的方式进行//最简单的提示对话框new AlertDialog.Builder(MainActivity.this) .setTitle("提示信息") .setMessage("这是提示你的信息内容") .setPositiveButton("确定", null) .create().原创 2021-08-18 15:54:12 · 359 阅读 · 0 评论 -
百度地图位置访问
浏览器端http://api.map.baidu.com/geocoder?output=json&ak=goIsShmGFYxtuAKOMogHt2U3d5q4VqE5&location=30.779233,103.9535919//服务器端http://api.map.baidu.com/geocoder?output=json&ak=goIsShmGFYxtuAKOMogHt2U3d5q4VqE5&location=30.779233,103.9535919.原创 2021-08-17 09:10:02 · 281 阅读 · 3 评论 -
Android中JSON数据解析
JSON数据非常通用,采用字符串数据表示;包含键值对。一 数据嵌套类型 也就是JSON中包含JSON,采用逐步深入的方式得到自己所要的值即可。 比如百度地图返回的JSON { "status":"OK", "result":{ "location":{ "lng":103.953243, "lat":30.779382 }, "formatted_ad...原创 2021-08-16 11:32:15 · 343 阅读 · 0 评论 -
通过经纬度获取位置信息
位置信息的获取,有很多方法。这里只使用了HttpURLConnection中的GET方式访问第三方地图接口,获取实时位置,这里是通过申请百度地图访问接口调试使用。感觉精度一般,但勉强可以使用。先上效果图再上代码主要代码//获取地理位置class WxpPositionGetThread extends Thread { private String lng; private String lat; private TextView show_content; .原创 2021-08-16 09:58:28 · 1021 阅读 · 0 评论 -
获取手机所在经纬度
首先在AndroidManifest.xml中设置访问权限 <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/><uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>基本代码 //获取位置对象 private Location getLastKnownLocation..原创 2021-08-16 09:21:35 · 137 阅读 · 0 评论 -
阿里云ECS中HttpURLConnection发送post请求的注意事项
1HttpURLConnection的连接默认不能使用明文字符,需要在Android的AndroidManifest.xml加上必要的内容 <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.myfirstapplication"> <uses-permission android:name="android.permission...原创 2021-08-07 21:06:15 · 279 阅读 · 0 评论 -
使用HttpURLConnection发送post请求
我们在开发的使用,直接使用的开源框架,例如:Xutil,Volley开源框架直接访问网络,但是我们也需要知道其中的一些知识,了解一下怎样访问网络的。下面我们模拟以下客户端和服务端,看看POST。首先看POST线程类的定义class PostThread extends Thread { private String name; private String age; private TextView show_content; private St...原创 2021-08-07 20:43:12 · 6520 阅读 · 0 评论 -
android的SQLiteDatabase操作类
一.SQLite的介绍1.SQLite简介SQLite是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,比如Tcl、PHP、Java、C++、.原创 2016-03-10 10:00:44 · 448 阅读 · 0 评论 -
SharedPreferences数据存储
Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/name>/shared_prefs目录下:SharedPreferences sharedPreferences = getSharedPreferenc原创 2014-12-31 10:12:31 · 496 阅读 · 0 评论 -
Android activity数据跳转
//发送数据 if(v.getId()==R.id.button1) { EditText book=(EditText)findViewById(R.id.book); EditText fish=(EditText)findViewById(R.id.fish); Toast.makeText(MainA原创 2014-06-22 11:28:24 · 647 阅读 · 0 评论