Android工具以及简单监听事件 6.28
1.Android开发时,最初对功能进行设计,设计layout,对界面布局。
第一个界面为登录,注册界面:
activity_main.xml代码如下:使用的是线性布局,用于用户的登录以及跳转注册。用户可通过点击“注册”,系统弹出“跳转至注册页面”提示,并且通过Intent跳转至Second的Activity。
<LinearLayout 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" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.myone.MainActivity" android:background="@drawable/bj"> <TextView android:id="@+id/nametext" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名" android:textSize="22dp" android:layout_marginTop="10dp" /> <EditText android:hint="注意不要以数字开头" android:id="@+id/nvalue" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPersonName" > </EditText> <TextView android:id="@+id/password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密码" android:textSize="22dp" /> <EditText android:id="@+id/pvalue" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="textPassword" android:hint="请输入5-8位密码" /> <LinearLayout android:layout_marginTop="100px" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_gravity="center" > <Button android:id="@+id/login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" android:textColor="#000000" android:layout_weight="1" android:layout_marginRight="10dp"/> <Button android:id="@+id/regist" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="注册" android:textColor="#000000" android:layout_weight="1" /> </LinearLayout> </LinearLayout>
该界面MainActivity.java代码如下:
package com.example.myone; import javax.security.auth.PrivateCredentialPermission; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.text.InputFilter.LengthFilter; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity { private Button login; private Button regist; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); login=(Button)findViewById(R.id.login); regist=(Button)findViewById(R.id.regist); regist.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(MainActivity.this,Second.class); startActivity(intent); Toast.makeText(MainActivity.this,"跳转至注册页面", 100).show(); } }); login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Intent i2=new Intent(MainActivity.this,Third.class); startActivity(i2); } }); } }
在此,为了实现跳转,必须要在注册表中加入Activity的注册。
可以看到点击注册后:
2.设计注册界面secondfile.xml
特别注意,命名,不管是首字母还是中间的字母一定不能够是大写!
具体代码:这里用到相对布局,真的虽然拖着很方便,但是对于每个构件的id命名实在尴尬,我觉得还是线性布局比较清楚些
<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" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.example.myone.MainActivity" android:background="@drawable/bj" > <TextView android:id="@+id/wel" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="欢迎注册" android:textColor="#000000" android:textSize="45dp" /> <TextView android:id="@+id/username" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/wel" android:layout_below="@+id/wel" android:layout_marginTop="44dp" android:textSize="20dp" android:text="用户名" /> <EditText android:id="@+id/namevalue" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/username" android:layout_alignBottom="@+id/username" android:layout_alignRight="@+id/wel" android:ems="10" android:inputType="textPersonName" /> <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/username" android:layout_alignTop="@+id/password" android:text="密码" android:textSize="20dp" /> <EditText android:id="@+id/password" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/namevalue" android:layout_below="@+id/namevalue" android:layout_marginTop="29dp" android:ems="10" android:inputType="textPassword" > <requestFocus /> </EditText> <TextView android:id="@+id/se" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/TextView01" android:layout_below="@+id/password" android:layout_marginTop="29dp" android:text="性别" android:textSize="20dp" /> <RadioButton android:id="@+id/radioButton1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/se" android:layout_alignBottom="@+id/se" android:layout_alignLeft="@+id/password" android:layout_marginLeft="22dp" android:checked="true" android:text="男" /> <RadioButton android:id="@+id/radioButton2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignTop="@+id/se" android:layout_marginLeft="44dp" android:layout_toRightOf="@+id/radioButton1" android:text="女" /> <Button android:id="@+id/finish" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:text="完成" /> </RelativeLayout>
3.点击完成,就可以跳转到登录了,这里不展示。
Second.java
package com.example.myone; import org.apache.http.NameValuePair; import com.example.myone.R.id; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; public class Second extends Activity{ private Button finish; private EditText namevalue; private EditText password; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.secondfile); finish=(Button)findViewById(R.id.finish); password=(EditText)findViewById(R.id.password); namevalue=(EditText)findViewById(R.id.namevalue); finish.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Toast.makeText(Second.this, "用户名:"+namevalue.getText().toString()+"密码"+password.getText().toString(),100).show(); Intent i1=new Intent(Second.this,MainActivity.class); startActivity(i1); } }); } }
4.用户输入账号密码登录之后,可以跳转到第三个Activity,这里主要是图片设为手机壁纸的功能。
这部分功能今天就没有实现完成了,主要是将图片读入并设置为桌面。
由于涉及到权限问题,所以注册表中必须注意加入
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
Third.java
package com.example.myone; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnLongClickListener; import android.widget.ImageView; import android.widget.TextView; public class Third extends Activity{ private TextView text=null; private ImageView image=null; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.func); image=(ImageView)findViewById(R.id.image); image.setOnLongClickListener(new LongClick()); } private class LongClick implements OnLongClickListener{ @Override public boolean onLongClick(View arg0) { // TODO Auto-generated method stub try { Third.this.clearWallpaper();//去除原来的壁纸 Third.this.setWallpaper(Third.this.image.getResources().openRawResource(R.drawable.back)); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return false; } } }
这部分是长按来监听的,所以事件监听器和之前的不一样。通过使用一个内部类,来把所有监听事件都做成一个接口来调用,的确方便不少。这里使用的是LongClick(),取代了以前的View.OnLongClickListener().
相关推荐
《Android初步开发》是针对初学者的一份宝贵的资源,它涵盖了Android开发的基础知识,帮助新手逐步踏入移动应用开发的世界。Android作为一个开源的操作系统,已经成为了全球最广泛使用的智能手机平台之一,因此,...
在Android开发领域,初学者经常会接触到“android初步,基本控件,布局,事件Demo”这样的主题,这涵盖了Android应用开发的基础知识。在这个话题中,我们将深入探讨这些关键概念。 首先,我们来理解“基本控件”。...
bpi_a64_android初步编译为LCD显示20170309_1442.7z banana pi a64 android6.0.1初步编译为LCD显示。初步设置。 bpi_a64_android的编译配置文件排版.txt 2017/3/9 14:33 0、压缩包的处理: rootroot@cm-System...
在这个“RxJava的Android初步快速学习与理解使用”项目中,你将找到Android Studio(AS)的完整源代码,可以直接运行,以便于学习和实践。 首先,让我们了解什么是响应式编程。响应式编程是一种编程范式,它关注于...
在Android初步了解这一主题中,我们主要探讨的是Android操作系统的基础概念、架构以及开发环境的搭建。Android是由Google主导开发的一款开源移动操作系统,广泛应用于智能手机、平板电脑和智能电视等设备。它基于...
这PPT差不多把Android里大部分常用的东西都涉及到了,让入门者对Android有个初步的认识.
这个"android小项目手机情景模式"提供了一个学习和实践Android初步开发的良好机会。通过此项目,开发者可以深入理解Android系统如何处理不同情景下的设备行为,并且学会如何创建自定义的情景模式。 1. **Android ...
Android 开发初步 Android 开发初步
介绍安卓的一些基础的东西。入门介绍用的文档。
Android初步学习笔记 activity生命周期 docs/index.html 1、onCreate:第一次被启动、 2、onStart:activity可视时调用、 3、onResume:activity获得用户焦点是被调用、 4、onPause:启动另外一个activity时被调用、...
### Android多媒体框架初步分析 #### 一、多媒体框架概述 Android多媒体框架是Android系统中一个重要的组成部分,负责处理各种多媒体内容如音频、视频和图片。该框架基于第三方PacketVideo公司的OpenCORE平台实现...
以上是Android开发初步配置的详细说明,这些步骤是初学者必须掌握的基础,只有完成这些配置,才能在Eclipse或Android Studio中成功创建、编译和运行Android应用。随着经验的积累,开发者还可以学习更多高级主题,如...
在Android开发过程中,构建系统是项目管理的核心部分。随着Android Gradle Plugin的...使用`mm-to-bp`工具可以简化转换过程,但务必记住,工具只能做初步转换,后续还需要人工检查和优化以确保构建系统的准确性和效率。
以上只是"android 撞球打砖块初步试验实例"中可能涉及的一些关键知识点,实际的实现可能根据开发者的技术选择和设计决策有所不同。深入学习这些概念,并通过实践项目来应用它们,将有助于你成为一名熟练的Android...
本项目是一个针对初学者的`ProgressBar`初步学习实例,旨在帮助开发者理解如何在Android应用中集成和使用`ProgressBar`。 `ProgressBar`的基本使用: 1. **XML布局文件中的声明**:在`res/layout`目录下的XML布局...
Delphi for Android 条码扫描初步解决方案 Delphi 是一种功能强大且广泛应用的编程语言,Android 是当前最流行的移动操作系统之一。近年来,随着移动设备的普及,条码扫描技术也得到了广泛应用。在这个解决方案中,...
在Android开发中,CheckBox是一个非常基础且常用的组件,它用于让用户进行多选操作,比如勾选同意服务条款、选择多项功能等。本教程将带你深入理解Android中的CheckBox,并结合简单的Toast应用,帮助初学者快速上手...