2015.1.7,第四节课Android控件SharedPreferences(贡献参数)实现回显

Android FAB 实战指南:从 Material 设计规范到 CoordinatorLayout 协同 Floating Action Button(FAB)是 Material Design 中定义的核心操作入口,其本质不是普通按钮,而是融合布局约束、滚动响应、Snackbar 协同与深色模式适配的交互系统。理解 FAB 需从 Android 的嵌套滚动协议(NestedScrollingParent)和 CoordinatorLayout 的 Behavior 机制出发——前者决定 FAB 如何响应 RecyclerView 滚动,后者实现与 Snackbar 的自动避让与上推。技术价值在于提升可访问性( 阅读详情

//和往常一样看下简单的布局

//会用一个小案例,模仿腾讯QQ记住密码功能,点这里快通车


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <EditText 
        android:id="@+id/et"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入用户名"/>


    <Button
        android:layout_below="@+id/et"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="click"
        android:text="保存数据到sharePrefrence中" />


</RelativeLayout>

//界面代码

package com.example.class3_1;


import util.SaveData;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;


public class MainActivity extends Activity {
private EditText met;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        met=(EditText) findViewById(R.id.et);
    }
    
    public void click(View v){
    String name=met.getText().toString().trim();                                    //获取EditText 内容
    if(!TextUtils.isEmpty(name)){                                                               //判断是否非空
    boolean flag=SaveData.savaData(this, name);                      // 进行存储,这里我把存储的方法单独提到 util包下,具体方法看最后面
    if(flag){                                                                                             // 根据savaData 返回值做出相应的处理
    Toast.makeText(this, "数据保存成功", 0).show();            //利用输出代替相应的功能
    }else{
    Toast.makeText(this, "数据保存失败", 0).show();            //利用输出代替相应的功能
    }
    }else{
    Toast.makeText(this, "不能为空", 0).show();
    }
    }
    @Override   
    protected void onStart() {                                                                                                                          // 利用 Activity 的生命周期 onStart() 方法实现 回显功能(每当开启这个软件之
    SharedPreferences sharPreferences=getSharedPreferences("config",MODE_APPEND);   //后,信息输入框默认显示关闭前的值,configMODE_APPEND
    String str=sharPreferences.getString("edit_content", "");                                                               //MODE_APPEND 指的是类型,edit_content,储存的信息k值,也称作键
    met.setText(str);
    super.onStart();
    }

//存储的工具类

package util;


import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.widget.Toast;


public class SaveData {
public static boolean savaData(Context context,String data){
//保存到SharePreFrence中,保存成功返回 true,否则返回false;
//第一个参数是保存的共享参数的名字(自定义的)
//第二个参数是保存共享参数的格式(可追加,私有,可读可写。。。)
SharedPreferences SharedPreferences=context.getSharedPreferences("config", Context.MODE_APPEND);//config 自己定义,保存信息的xml文件名称
Editor editor=SharedPreferences.edit();               
editor.putString("edit_content", data);                  //利用Editor 进行写入
editor.commit();                                                       //进行提交
if(editor.commit()){
Toast.makeText(context, "数据保存成功", 0).show();
return true;
}else{
Toast.makeText(context, "数据保存失败", 0).show();
   return false;
}
}


}



    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
    
}

安卓平台仿航旅纵横APP实战项目开发 随着移动互联网的快速发展,出行类APP在人们日常生活中扮演着越来越重要的角色。航旅纵横作为一款集航班查询、值机提醒、行李追踪、行程管理于一体的综合性航空服务应用,其功能架构与用户体验设计具有极高的参考价值。本章将围绕“安卓仿航旅纵横APP”项目的整体背景展开,阐述该项目的开发意义、目标定位与核心功能模块设计。项目旨在通过模拟真实航空服务平台的关键流程,帮助开发者深入理解Android应用从零搭建的全过程。 阅读详情

相关推荐

项目管理——14规划绩效域论文套路

规划绩效域论文套路

Flee Elf 1153

android播放视频控件,视频播放控件VideoView的基本使用

在Android的界面控件中有一个视频播放控件,可以直接在手机上面开辟一个视频播放的UI,播放视频,下面ATAAW.COM大概介绍下视频控件VideoView的使用,由于视频播放是属于Android多媒体方面内容,综合起来比较复杂,这里我们仅对VideoView做简单介绍,有关多媒体方面ATAAW.COM后续会做专门分析。我们先定义布局:android:id="@+id/videoView"and...

weixin_35501678的博客 3277

慕课软件质量保证与测试(习题集)

慕课金陵科技学院.软件质量保证与测试.期末复习.习题汇总0 总目录1 绪论1.1 软件质量保证与测试的产生与发展1.2 软件缺陷,软件错误,软件故障1.3 软件质量保证与测试的意义,原则和挑战1.4 单元测试1.5 课后作业2 软件测试策略2.1 软件测试的模型,过程和生命周期2.2 软件测试的方法和技术2.3 单元测试2.4 课后作业3 黑盒测试3.1 黑盒测试概述3.2 等价类划分测试3.3 边界值测试3.4 错误推测法3.5 判定表驱动法3.6 因果图法3.7 场景法3.8 正交实验法3.9 单元测试

weixin_42473228的博客 5万+

Android自定义控件实现登陆界面以及SharedPreferences实现记住密码功能

1.自定义控件 通过继承LinearLayout来实现一个自定义控件,左边为放置图标的ImageView,右边为输入账号或密码的EditText。 布局文件myedittext.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horiz

a8128230的博客 2332

基于ESP32的气象雷达站设计与实现

物联网技术通过嵌入式设备实现环境数据的实时采集与可视化,其中ESP32凭借其双核处理器和WiFi/蓝牙功能成为热门选择。本项目利用ESP32结合LVGL图形库,构建了一个低成本气象监测系统,通过OpenWeatherMap API获取全球气象数据并在7英寸触摸屏上动态展示。系统采用三级优化策略处理高分辨率雷达图,包括服务端预处理、硬件加速解码和显示增强,有效解决了内存占用和帧率问题。在物联网设备开发中,类似方案可应用于智能家居、农业监测等场景,特别是需要实时数据可视化的领域。通过SPIFFS存储和zlib压

weixin_42524864的博客 422

光线追踪渲染实战:蒙特卡洛路径追踪及其c++实现

光线追踪超越了传统的图形流水线,是一种现代的渲染。光线追踪是一种基于物理的渲染方法,通过模拟光在介质中的真实表现来输出足以逼近现实的图像。光线从光源出发,经过各种反射折射,进入摄像机。通过渲染方程描述一点的颜色,并且通过蒙特卡洛方法求解渲染方程来获取最终的像素颜色。

AKGWSB 's blog 1万+

2015年Android开发技术全景与最佳实践

模块化设计和响应式编程是现代移动开发的核心架构思想。通过组件化拆分和观察者模式,开发者可以构建更灵活、可维护的Android应用。2015年Android生态出现重大变革,Material Design规范统一了视觉语言,Retrofit+OkHttp成为网络通信标准方案,RxJava则革新了异步编程范式。这些技术组合大幅提升了工程效率,特别适合电商、社交等高频交互场景。热词显示,当时RecyclerView和MVP架构的普及,标志着Android开发进入工业化阶段。

weixin_30444105的博客 390

FPGA以太网通信实战(一):实现MDIO接口驱动,掌控PHY芯片的钥匙

本文介绍了以太网通信技术及其核心组件。首先概述了以太网的发展历程,从标准以太网(10Mbps)到万兆以太网(10Gbps)的技术演进。重点分析了以太网接口的两大核心部件:MAC控制器负责数据链路层协议处理,PHY芯片负责物理信号转换和连接管理。文章详细解读了MDIO接口规范,包括帧格式和读写时序,并以YT8531 PHY芯片为例,介绍了其寄存器配置方法。最后设计了一个FPGA实现方案,通过MDIO接口完成PHY芯片的软复位和状态监测功能,并利用LED指示灯实时显示网络连接速率。

weixin_64402689的博客 1660

android 输入ip地址,Android实现仿电脑的ip地址输入

最近该需求改到一个特别的,估计有人也遇到过这种恶心的需求,客户端居然需要输入ip地址,感觉有点扯,客户自己输入ip地址,呵呵,总之,不完成也不行啊,没有砍经理的力气,只能撸代码了.下面开始正题,先上一下运行效果,方便观看上面的输入框写成了一个自定义组合控件,方便使用,说起来功能也挺简单的,主要是组合了四个EditText,然后判断EditText输入内容,还有就是对焦点的获取也是比较重要的,由于本...

weixin_28909303的博客 657

YOLOv改进 | YOLOv11更换主干Backbone之MobileNetV2(轻量化主干网络结构--高效轻量移动模型)

本文提出将YOLOv11的主干网络替换为轻量化的MobileNetV2,以提升模型在移动端设备的部署效率。MobileNetV2通过倒残差结构和线性瓶颈层,显著减少了计算量和参数量(降至1M~3M),同时保持多尺度特征提取能力。实验表明,改进后的模型在移动设备上可实现20-30 FPS的实时检测,适用于手机APP、无人机和工业监控等场景。核心代码展示了倒残差块的实现,通过深度可分离卷积和通道扩展/压缩实现高效特征提取。

走向CTO的路上... 1460

代谢组数据分析(二十六):LC-MS/MS代谢组学和脂质组学数据的分析流程

本教程概述了LC-MS/MS在代谢组学和脂质组学数据分析中的应用流程。首先介绍了样本的采集、提取和LC-MS/MS分析,随后详细阐述了质谱数据的预处理、峰值识别、特征注释,以及数据标准化和统计分析的重要性。特别强调了使用XCMS和CAMERA进行数据对齐和加合物识别,以及利用MultiABLER和LipidFinder进行数据过滤、插补和标准化处理。此外,还介绍了如何应用EigenMS算法进行数据标准化,以及如何使用Limma包进行差异分析。整个流程旨在提高数据质量,确保分析结果的准确性和可靠性,为后续的生

专注生信领域 1954

第一个Activety控件的响应

这篇博文主要讲编写JAVA代码,响应控件。很短,很简单。 安卓编程使用的是JAVA,一种类似于C语言的编程语言,而且现在使用IDE,面向对象编程,比当年学校学汇编和TC方便多了。 打开MainActivety.java,就可以编写响应代码了,我会列出所有代码,在需要讲解的我会用注释的方式进行讲解,拷贝党注意了,注释有中文,拷贝到自己工程里面最好把中文注释删除掉,否则很容易出错,另外,如果是拷贝

Landscape的专栏 691

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android基础知识

Application Not Response应用程序无响应。在Service后台执行耗时操作。BroadcastReceiver的onReceiver方法中执行耗时操作。应用程序可以接收输入事件(按键、触屏、轨迹球等),当5秒内没有处理完毕时,则会引发ANR。ANR机制以及问题分析https://duanqz.github.io/2015-10-12-ANR-Analysis。

hxltech的专栏 681

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Android学习笔记一

个人学习Android时的一些笔记

gaiyindexingqiu的博客 1万+

php生成手机桌面图标,Android_Android程序开发之手机APP创建桌面快捷方式,预览效果图: 需要权限: - phpStudy...

Android程序开发之手机APP创建桌面快捷方式预览效果图:需要权限:配置文件:AndroidManifest.xmlandroid:name="com.myself.news.activity.GuideActivity"android:label="@string/title_activity_guide" >在应用的闪屏页面Activity的 oncreate方法调用 install...

weixin_36473057的博客 186

java 强制下线_实现强制下线或者注销功能

importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.os.Bundle;importandroid.preference.PreferenceManager;importandroid.view.View;importandroid.widget.Button;importandroi...

weixin_42500130的博客 590

1.2.1 案例-IP 拨号器

1.2.1 案例-IP 拨号器 一、需求 什么是IP 拨号服务?我们为什么要用IP 服务?所谓的IP 拨号就是通过接入数据网络来传播语音信 息。IP 拨号的目的在于转接至其他频道,减少话费等用处。移动17951,联通17911,打长途时在电话号 码前加上这个就便宜了,如果你的手机上有这个键的话,那么打电话时输入长途电话号码后,直接按那个 键就拨出去了,它会自动加上IP。通俗的说就是打长途

西油骄子--Debug 617

SQLite数据库

SQLite数据库 SQL数据库的增删改查 SharedPreferences:轻量级存储 存储的路径:data-data-shared-prefs文件 单元测试 onCreate(){main方法中重写} FragmentManager //管理器 manager=getFragmentManager(); // Fragment...

sina:崔逸的博客 152

简述Activity的生命周期

activity生命周期 自己的一个小总结,希望对大家有些帮助

JSmen_LBG的专栏 1979

DatePickerDialog 设置默认时间为当前系统时间

DatePickerDialog 设置默认时间为当前系统时间

JSmen_LBG的专栏 1649

2015年第一节 Android课,主讲Android图片上传到服务器。时间2015-1-4

步骤  1.创建服务器端  2.创建Android的客服端

JSmen_LBG的专栏 999

2015.1.9,第六次课Android对服务端数据进行json解析

Android对服务端返回的数据进行Json解析,json解析的两种方法

JSmen_LBG的专栏 989

android获取屏幕的高度和宽度

android获取屏幕的高度和宽度用到WindowManager这个类,两种方法:    1、WindowManager wm = (WindowManager) getContext()                     .getSystemService(Context.WINDOW_SERVICE);        int width = wm.getDefaultDispl

JSmen_LBG的专栏 777

2015.1.6,第三节课Android控件ViewFlipper手势滑动效果

Android控件ViewFlipper手势滑动效果

JSmen_LBG的专栏 740
上一篇: 2015.1.7,第四节课,Android控件SlidingDrawer实现抽屉效果
下一篇: 2015.1.7,Android项目小案例,SharedPerFrences模仿腾讯QQ记住密码功能
JSmen_LBG
博客等级 码龄12年 2粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值