自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 收藏
  • 关注

原创 Android Studio新手开发第三十五天

摘要:本文介绍了Android系统相机录制视频的实现方法,分析了其开发简单、稳定性高、功能丰富等优点,以及界面不可定制、功能受限等缺点。提供了使用VideoView播放视频的示例代码,并详细说明了VideoView和MediaController控件的常用方法。通过结合MediaController可实现视频播放控制功能,包括启停、进度条跳转等操作。整体方案实现简单但功能完整,适合需要快速集成视频录制功能的场景。

2025-10-30 17:22:22 1109 1

原创 Android Studio新手开发第三十四天

Android相机应用开发有两种实现方式:一是调用系统相机,优点是开发简单、稳定性高、兼容性好,但定制性差;二是通过Camera API和SurfaceView自定义实现,优点是高度可定制,但开发复杂且需处理兼容性问题。系统相机可通过ActivityResultLauncher获取缩略图或原始照片,而自定义相机需要手动管理相机生命周期并处理预览、拍照等逻辑。开发者可根据需求选择合适方案,系统相机适合快速实现基本功能,自定义相机则适用于需要深度定制的场景。

2025-10-29 18:39:24 1048

原创 Android Studio新手开发第三十三天

摘要:本文介绍了使用MediaRecorder录制视频的实现方法,重点讲解了Camera初始化和MediaRecorder配置的关键步骤。通过SurfaceView实现视频预览,包含开始/停止录制按钮的交互逻辑。文章特别指出调用unlock()方法可能导致预览失败的问题,并提供了视频参数设置(如编码格式、分辨率、方向)的示例代码。最后展示了录制效果的截图,包括录制过程界面和保存的视频文件。

2025-10-27 20:52:51 586

原创 Android Studio新手开发第三十二天

摘要:本文介绍了Android系统中MediaRecorder音频录制的实现方法,包括常用API如setAudioSource、setOutputFormat、setAudioEncoder等参数设置,以及输出格式和编码器的选择说明。通过示例代码演示了从麦克风录制AMR格式音频的完整流程,包含权限申请、文件存储路径设置、录制控制及异常处理等关键环节。代码实现了5秒最大时长、8kHz采样率、双声道的音频录制功能,并提供了录制状态监听和错误处理机制。

2025-10-26 22:15:41 1086

原创 Android Studio新手开发第三十一天

Android中利用MediaPlayer组件实现音视频播放功能。MediaPlayer提供完整的API支持,包括播放控制(start/pause/stop)、进度管理(seekTo/getCurrentPosition)和资源设置(setDataSource)。音频播放示例通过SeekBar同步进度,视频播放需配合SurfaceView展示画面。关键点包括:初始化时prepare资源,播放时更新进度条,停止时release释放资源。

2025-10-25 17:46:44 860

原创 Android Studio新手开发第三十天

本文介绍了在Android开发中使用OkHttp框架进行HTTP接口调用的方法。相比原生的HttpURLConnection,OkHttp更简洁高效。文章首先说明需要添加依赖和网络权限,并解决Android 9.0后HTTP访问限制的问题。重点讲解了三种请求方式:1)GET请求,通过Request.Builder构建请求;2)表单POST请求,使用FormBody传递参数;3)JSON格式POST请求,通过RequestBody传输JSON数据。

2025-10-23 19:09:59 562 1

原创 Android Studio新手开发第二十九天

JSON与XML是两种常用的网络数据交互格式。相比XML,JSON格式更轻量、解析更快且省流量,适合移动应用开发。Android原生支持JSON解析,提供JSONObject和JSONArray类来获取各类数据。此外,谷歌Gson库能更便捷地实现对象与JSON之间的转换,只需简单调用toJson()和fromJson()方法,无需手动解析,大大简化开发流程并减少错误。

2025-10-22 20:34:39 1662

原创 Android Studio新手开发第二十八天

本文介绍了在Android Studio中使用BottomNavigationView实现底部导航栏的方法。通过在项目中添加navigation库依赖,配置布局文件中的BottomNavigationView和Fragment组件,并设置menu和navGraph属性来定义导航标签和对应页面。文章详细解析了menu.xml中标签图文的定义方式,以及navigation.xml中碎片页面的配置参数,包括默认显示页面设置。

2025-10-22 18:06:32 911

原创 Android Studio新手开发第二十七天

本文介绍了Android视图绘制过程中onDraw和dispatchDraw方法的使用区别:onDraw适用于普通控件和布局,dispatchDraw专用于布局视图,且执行顺序为onDraw在前。通过自定义DrawRelativeLayout类演示了Canvas的基本绘图方法(如绘制矩形、圆形等)和Paint画笔的设置(颜色、样式等)。示例代码展示了在布局中绘制不同图形,并说明在onDraw中绘制会被子视图覆盖,而在dispatchDraw中绘制则不会。

2025-10-21 20:53:24 747

原创 Android Studio新手开发第二十六天

本文介绍了Android自定义控件中视图测量方法,重点讲解了文本、图形和布局三种实体的尺寸测量。文本测量需使用Paint类的measureText方法计算宽度,FontMetrics类计算高度;图形测量可直接调用Bitmap/Drawable提供的宽高获取方法;布局测量需处理match_parent/wrap_content/具体数值三种情况,通过ViewGroup和MeasureSpec相关方法实现。文中提供了详细的代码示例,包括文本测量实现、线性布局高度计算等实用方法。

2025-10-21 19:24:17 966

原创 Android Studio新手开发第二十五天

本文介绍了Android中自定义控件样式的两种方法。首先讲解了通过styles.xml定义统一样式的方法,但指出其局限性:无法添加新属性和方法。随后详细阐述了通过自定义控件类实现更灵活的样式定制,重点解析了View的四个构造方法及其应用场景,并给出了完整的实现步骤:1)在attrs.xml定义属性;2)在styles.xml定义具体样式;3)在主题中关联样式;4)创建继承Button的自定义类。最后通过布局文件对比展示了自定义按钮与默认按钮的样式差异。

2025-10-21 17:34:18 1042

原创 Android Studio新手开发第二十四天

Android Fragment是Activity中的可重用UI组件,具有独立生命周期但受宿主Activity影响。Fragment支持静态注册(XML布局声明)和动态注册(代码动态添加)。静态注册适合固定UI部件,灵活性低;动态注册通过FragmentPagerAdapter实现,适合需要动态变化的界面。Fragment生命周期包含onAttach、onCreateView等特有方法。示例代码展示了两种注册方式的具体实现,包括布局文件和Java代码,以及如何通过Bundle传递参数。

2025-10-20 19:52:00 929

原创 Android Studio新手开发第二十三天

摘要:ViewPager是Android实现水平滑动翻页效果的组件,适用于引导页等场景。其用法与ListView类似,通过PagerAdapter适配器和OnPageChangeListener监听器实现页面切换功能。文章详细介绍了ViewPager的常用方法、适配器实现原理及六个关键方法,提供了完整的XML布局和Java代码示例,包括页面实例化、销毁等操作。最后介绍了PagerTabStrip标签栏的使用方法,包括样式修改和标题设置。通过Toast消息展示了页面滑动状态变化的监听效果。

2025-10-19 23:07:41 718

原创 Android Studio新手开发第二十二天

本文介绍了Android开发中ListView的基本用法和特性。ListView通过setAdapter方法设置数据适配器,支持setOnItemClickListener和setOnItemLongClickListener设置点击和长按监听器。文章详细说明了ListView的分割线、按压背景等属性的设置方法,并通过示例代码展示了如何实现自定义适配器。同时提出并解决了列表项中包含按钮等控件时可能出现的焦点抢占问题,建议在布局根节点添加descendantFocusability属性来保证监听器正常工作。

2025-10-19 18:17:17 914

原创 Android Studio新手开发第二十一天

本文介绍了Android中Spinner控件的三种适配器使用方法。首先讲解了Spinner的两种显示模式(dropdown和dialog)及其基本属性设置,并通过ArrayAdapter实现简单文本列表。其次演示了SimpleAdapter的使用,支持图文混排的列表项。最后详细说明了BaseAdapter的定制化实现,通过派生类和ViewHolder模式优化性能,支持复杂列表项布局。

2025-10-18 20:22:30 1166

原创 Android Studio新手开发第二十天

本文介绍了Android存储空间管理及文件读写操作。主要内容包括:1)Android7.0后存储空间分为私有和公共两部分,访问公共空间需获取权限;2)通过getExternalFilesDir和getExternalStoragePublicDirectory方法分别获取私有和公共存储路径;3)文本文件读写使用FileOutputStream和FileInputStream流;4)图片文件处理需使用Bitmap工具,支持从资源、文件和输入流获取位图数据;5)动态权限申请流程

2025-10-17 20:42:29 804

原创 Android Studio新手开发第十九天

Android提供了两种数据库存储方式:SQLite原生数据库和Room持久化库。SQLite是轻量级关系型数据库,支持SQL语法和ACID事务,数据存储在应用沙盒内。开发者可通过SQLiteDatabase直接操作数据库,或使用SQLiteOpenHelper帮助类管理数据库创建、升级等操作。示例展示了完整的用户信息数据库实现,包括创建表结构、增删改查等操作,并演示了通过SQLiteOpenHelper进行数据管理的完整流程。

2025-10-16 21:08:58 797

原创 Android Studio新手开发第十八天

本文介绍了Android中两种键值对存储方式:SharedPreferences和DataStore。SharedPreferences是轻量级的XML文件存储,通过键值对保存简单配置,但存在安全性和性能问题。代码示例展示了其基本读写操作。DataStore作为更安全的替代方案,支持异步操作,避免主线程阻塞,需通过Gradle引入依赖。文中详细对比了两者的实现差异,包括DataStore的RxJava封装和类型安全处理,并提供了完整的Activity实现示例,演示了用户信息的存储读取功能。

2025-10-16 15:47:22 874

原创 Android Studio新手开发第十七天

Android Service详解:后台运行与组件交互 Service是Android四大组件之一,可在后台执行长时间任务而不提供界面。它有两种工作方式:启动服务和绑定服务。 启动服务通过startService()/stopService()调用,生命周期包括onCreate()、onStartCommand()和onDestroy()。其中onStartCommand()返回值决定服务被杀死后的重启行为。

2025-10-15 22:33:46 1007

原创 Android Studio新手开发第十六天

Android广播机制是组件间通信的重要方式,分为标准广播(异步发送,不可截断)和有序广播(同步发送,可截断)。标准广播使用sendBroadcast()发送,所有接收器同时接收;有序广播使用sendOrderedBroadcast()发送,按优先级顺序接收,可通过abortBroadcast()中断。示例代码展示了两种广播的发送/接收实现,包括动态注册接收器、设置广播过滤条件和处理中断逻辑。广播机制实现了应用的灵活通信,发送方无需关心接收方状态,接收方通过IntentFilter筛选目标广播。

2025-10-15 18:28:42 767

原创 Android Studio新手开发第十五天

Android开发中,Intent是组件间通信的核心机制,支持显式和隐式两种调用方式。显式Intent通过构造函数、setClass或setComponent方法明确指定目标组件;隐式Intent则通过定义动作字符串(系统内置或自定义)实现模糊匹配。Intent还支持数据传递,可使用putExtra方法传递简单数据,或通过Bundle打包传递复合数据。该机制实现了活动间的灵活跳转和数据交互,为Android应用开发提供了基础通信框架。

2025-10-14 19:45:41 954

原创 Android Studio新手开发第十四天

本文介绍了Android Activity的基础知识,重点讲解了Activity的生命周期和启动模式。Activity生命周期包含onCreate、onStart、onResume等关键方法,控制着Activity从创建到销毁的完整过程。启动模式则通过standard、singleTop等四种模式及Intent标志位,管理Activity在任务栈中的行为。文章还通过代码示例演示了如何观察生命周期变化和修改启动模式,并比较了XML配置和代码设置的优先级差异。

2025-10-13 22:00:36 157

原创 Android Studio新手开发第十三天

Android Shape图形是一种XML资源,用于定义几何形状、边框、渐变等效果。它包含shape根节点(支持矩形、椭圆等4种形状)和6个子节点:size定义尺寸、stroke设置描边、corners控制圆角、solid填充颜色、padding调整边距、gradient实现颜色渐变。状态列表图形(selector)则可根据视图状态(如焦点、按下等)切换不同shape背景,适用于编辑框、按钮等控件。相比图片资源,shape图形更节省资源且能自适应屏幕尺寸。

2025-10-13 19:12:46 888

原创 Android Studio新手开发第十二天

本文介绍了Android中三种常用的对话框组件:提醒对话框(AlertDialog)、日期对话框(DatePickerDialog)和时间对话框(TimePickerDialog)。AlertDialog通过Builder模式创建,提供标题、内容、按钮等设置功能,支持create()和show()两种显示方式。DatePickerDialog和TimePickerDialog分别用于日期和时间选择,相比原生选择器更节省空间且操作便捷。

2025-10-12 20:37:52 1982

原创 Android Studio新手开发第十一天

本文介绍了Android中的EditText控件使用,重点讲解其常用属性和监听器。主要内容包括:1.核心属性如inputType(设置输入类型)、hint(提示文本)、maxLength(最大长度)等;2.属性maxLines与lines的区别,前者限制最大行数后者固定行数;3.inputType的多种类型分类(基础文本、数字、日期等);4.焦点变更监听器和文本变化监听器的使用场景及实现方法,包括自动验证输入长度和同步文本内容等应用。通过代码示例展示了EditText的实际应用技巧。

2025-10-12 15:35:18 990

原创 Android Studio新手开发第十天

本文介绍了Android中的三种特殊控制按钮:复选框CheckBox、开关按钮Switch和单选按钮RadioButton。它们都继承自CompoundButton类,具有勾选状态和图标设置功能。复选框可实现简单的勾选/取消操作;开关按钮提供更丰富的界面元素,支持开启/关闭文本设置;单选按钮需要配合RadioGroup使用,确保组内只能选中一个选项。文章通过代码示例展示了每种控件的使用方法,包括XML属性设置和Java代码中的监听器实现,并附有效果图说明。

2025-10-11 23:19:03 978

原创 Android Studio新手开发第九天

本文介绍了Android中ImageView和ImageButton的使用方法。ImageView用于显示图片资源,可通过xml属性或Java代码设置图片,需要注意大图可能导致内存问题。重点讲解了scaleType属性的8种缩放模式(如fitCenter、centerCrop等)及其适用场景。ImageButton继承自ImageView,具有按钮功能,可以设置图片和点击事件。文章通过示例代码演示了不同scaleType的效果,并建议使用专业图片加载库处理大图。

2025-10-11 18:50:12 1038

原创 Android Studio新手开发叕叕一天

本文介绍了Android中Button控件的基本使用和特性。Button继承自TextView,但具有默认背景和居中对齐特性。重点讲解了三个关键功能:1)通过textAllCaps属性控制文本大小写转换;2)使用onClick属性或OnClickListener实现点击事件响应;3)通过OnLongClickListener处理长按事件。此外还介绍了如何通过enabled属性控制按钮的禁用状态,以及如何在代码中动态修改这一状态。

2025-10-10 23:51:50 705

原创 Android Studio新手开发第七天

摘要:Android中通过ScrollView和HorizontalScrollView实现视图滚动效果。ScrollView用于垂直滚动,包含一个子布局;HorizontalScrollView用于水平滚动。示例代码展示了两种滚动视图的XML实现方式,分别包含子线性布局和文本视图,演示了上下和左右滑动的效果。关键点:滚动视图必须包含且仅包含一个子布局节点。

2025-10-10 21:26:59 153

原创 Android Studio新手开发第六天

Android网格布局(GridLayout)详解:GridLayout是一种灵活的多行多列布局方式,优于线性布局和相对布局。通过android:rowCount和android:columnCount设置行列数,子视图通过layout_row和layout_column指定位置(从0开始)。支持视图跨行跨列(layout_rowSpan/layout_columnSpan)和填充控制(layout_gravity="fill"等)

2025-10-10 18:34:25 2111

原创 Android Studio新手开发又又又双一天

本文介绍了Android中的相对布局RelativeLayout及其核心属性。相对布局通过相对定位实现灵活的子控件排列,能减少布局嵌套。文章详细说明了三类属性:相对于父容器定位(如顶部/底部对齐)、居中控制(水平/垂直居中)以及相对于兄弟控件定位(如上下左右对齐)。通过代码示例展示了各属性的具体应用效果,如将视图置于父容器中间、与其他视图对齐等操作。相对布局需要明确参照物,未设置时子控件默认显示在左上角。文中的XML代码和效果图直观呈现了不同属性的布局效果。

2025-10-09 21:24:31 940

原创 Android Studio新手开发双双一天

本文介绍了Android中的线性布局(LinearLayout)及其核心属性。线性布局通过orientation属性确定子视图排列方向(水平/垂直),默认水平排列。layout_weight属性可实现子视图的权重分配,通过设置对应方向尺寸为0dp并按比例分配权重值,能实现视图的按比例布局。文中通过示例代码展示了垂直和水平方向的权重分配效果,如1:3的比例分配布局空间。

2025-10-09 19:36:11 410

原创 Android Studio新手开发又双一天

本文介绍了Android中TextView控件的三种基本设置方法:1.文本内容设置(XML硬编码、strings.xml引用、Java代码动态设置);2.文本大小设置(XML属性textSize、Java方法setTextSize);3.文本颜色设置(XML属性textColor、Java方法setTextColor)。其中特别强调了规范化的资源引用方式,并详细说明了颜色值的十六进制表示方法(包含透明度通道)。这些基础设置是Android界面开发的核心内容。

2025-10-09 18:10:47 382

原创 Android Studio新手开发第二天

摘要:AndroidManifest.xml是Android应用的核心配置文件,定义了包名、应用图标、主题风格等基本信息,并声明了MainActivity作为程序入口。通过添加<intent-filter>指定启动页面,若多个Activity配置相同则会产生多个应用图标。新建页面时,在包目录下右键选择EmptyActivity,填写名称并勾选LauncherActivity可设为入口页面,系统会自动生成对应的Java类、布局文件并在清单文件中注册该Activity。

2025-10-08 19:45:12 428

原创 Android Studio新手开发第一天

本文摘要:Android开发新手教程,包含安装Android Studio和创建项目的详细步骤。安装后,通过选择EmptyActivity模板创建新项目,填写项目信息时建议选择Java语言和SDK版本不小于5.0。项目创建完成后,介绍了工程目录结构:包括配置文件目录(manifest)、Java源码目录、资源文件目录(res)以及Gradle脚本目录,详细说明了各子目录的功能和重要文件的作用。教程特别强调了SDK版本选择对设备兼容性的影响,并指出Gradle配置文件的分类和作用。

2025-10-08 17:11:19 311

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除