`

Android初步

 
阅读更多


 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().

  • 大小: 325.4 KB
  • 大小: 401.6 KB
  • 大小: 329.8 KB
  • 大小: 425.5 KB
分享到:
评论

相关推荐

    android初步开发.pdf没下载金币了悲哀

    《Android初步开发》是针对初学者的一份宝贵的资源,它涵盖了Android开发的基础知识,帮助新手逐步踏入移动应用开发的世界。Android作为一个开源的操作系统,已经成为了全球最广泛使用的智能手机平台之一,因此,...

    android 初步,基本控件,布局,事件Demo

    在Android开发领域,初学者经常会接触到“android初步,基本控件,布局,事件Demo”这样的主题,这涵盖了Android应用开发的基础知识。在这个话题中,我们将深入探讨这些关键概念。 首先,我们来理解“基本控件”。...

    bpi_a64_android初步编译为LCD显示20170309_1442.7z

    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初步快速学习与理解使用,AS完整源代码可运行

    在这个“RxJava的Android初步快速学习与理解使用”项目中,你将找到Android Studio(AS)的完整源代码,可以直接运行,以便于学习和实践。 首先,让我们了解什么是响应式编程。响应式编程是一种编程范式,它关注于...

    Android 初步了解

    在Android初步了解这一主题中,我们主要探讨的是Android操作系统的基础概念、架构以及开发环境的搭建。Android是由Google主导开发的一款开源移动操作系统,广泛应用于智能手机、平板电脑和智能电视等设备。它基于...

    android小项目手机情景模式

    这个"android小项目手机情景模式"提供了一个学习和实践Android初步开发的良好机会。通过此项目,开发者可以深入理解Android系统如何处理不同情景下的设备行为,并且学会如何创建自定义的情景模式。 1. **Android ...

    android课件4Android 开发初步

    Android 开发初步 Android 开发初步

    Android 初步介绍

    介绍安卓的一些基础的东西。入门介绍用的文档。

    Android学习笔记

    Android初步学习笔记 activity生命周期 docs/index.html 1、onCreate:第一次被启动、 2、onStart:activity可视时调用、 3、onResume:activity获得用户焦点是被调用、 4、onPause:启动另外一个activity时被调用、...

    Android多媒体框架初步分析

    ### Android多媒体框架初步分析 #### 一、多媒体框架概述 Android多媒体框架是Android系统中一个重要的组成部分,负责处理各种多媒体内容如音频、视频和图片。该框架基于第三方PacketVideo公司的OpenCORE平台实现...

    android开发初步配置

    以上是Android开发初步配置的详细说明,这些步骤是初学者必须掌握的基础,只有完成这些配置,才能在Eclipse或Android Studio中成功创建、编译和运行Android应用。随着经验的积累,开发者还可以学习更多高级主题,如...

    androidmk 转换Android.bp工具方法

    在Android开发过程中,构建系统是项目管理的核心部分。随着Android Gradle Plugin的...使用`mm-to-bp`工具可以简化转换过程,但务必记住,工具只能做初步转换,后续还需要人工检查和优化以确保构建系统的准确性和效率。

    android 撞球打砖块初步试验实例

    以上只是"android 撞球打砖块初步试验实例"中可能涉及的一些关键知识点,实际的实现可能根据开发者的技术选择和设计决策有所不同。深入学习这些概念,并通过实践项目来应用它们,将有助于你成为一名熟练的Android...

    Android:ProgressBar的初步学习

    本项目是一个针对初学者的`ProgressBar`初步学习实例,旨在帮助开发者理解如何在Android应用中集成和使用`ProgressBar`。 `ProgressBar`的基本使用: 1. **XML布局文件中的声明**:在`res/layout`目录下的XML布局...

    android Activity布局初步(二)- 嵌套布局

    在"android Activity布局初步(二)- 嵌套布局"这篇博文中,作者可能介绍了如何在一个布局文件中包含另一个布局,从而实现视图的层次结构。这种技术被称为嵌套布局,可以创建具有多个视图组(如LinearLayout、...

    delphi for android 条码扫描初步解决方案

    Delphi for Android 条码扫描初步解决方案 Delphi 是一种功能强大且广泛应用的编程语言,Android 是当前最流行的移动操作系统之一。近年来,随着移动设备的普及,条码扫描技术也得到了广泛应用。在这个解决方案中,...

Global site tag (gtag.js) - Google Analytics