移动开发作业博客2

介绍关于手机桌面
下面是一个显示生词本的实时文件夹的实例

这个实时文件夹显示ContentProvider的数据,这要把之前开发DictProvider部署到模拟器中,才可以用实时文件显示ContentProvider返回的数据

创建项目:WordsLiveFolder

运行项目效果:
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

package org.wwj.desktop;  

import android.app.Activity;  
import android.content.Intent;  
import android.net.Uri;  
import android.os.Bundle;  
import android.provider.LiveFolders;  

public class WordsLiveFolder extends Activity{  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        // TODO Auto-generated method stub  
        super.onCreate(savedInstanceState);  
        //如果该Intent的Action是创建实时文件夹的Action  
        if(getIntent().getAction().equals(LiveFolders.ACTION_CREATE_LIVE_FOLDER)){  
            Intent intent = new Intent();  
            //设置实时文件夹所显示ContentProvider提供的数据的uri  
            intent.setData(Uri.parse("content://org.crazyit.providers.dictprovider/words"));  
            //设置实时文件夹的base intent属性  
            intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_BASE_INTENT, new Intent(Intent.ACTION_VIEW  
                    , Uri.parse("content://org.crazyit.providers.dictprovider/word/")));  
            //设置实时文件夹的名称  
            intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_NAME, "生词本");  
            //设置实时文件夹的图标  
            intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_ICON, Intent.ShortcutIconResource.fromContext(this, R.drawable.ic_launcher));  
            //设置实时文件夹的显示模式  
            intent.putExtra(LiveFolders.EXTRA_LIVE_FOLDER_DISPLAY_MODE, LiveFolders.DISPLAY_MODE_GRID);  
            setResult(RESULT_OK, intent);  
        }  
        else{  
            setResult(RESULT_CANCELED);  
        }  
        //结束该Activity  
        finish();  
    }  
}  



[html] view plain copy

<activity android:name=".WordsLiveFolder"  
         android:label="@string/app_name">  
         <intent-filter>  
             <action android:name="android.intent.action.CREATE_LIVE_FOLDER"/>  
             <category android:name="android.intent.category.DEFAULT"/>  
         </intent-filter>  
     </activity>  





[java] view plain copy
package org.wwj.desktop;  

import android.app.Activity;  
import android.content.ContentUris;  
import android.database.Cursor;  
import android.net.Uri;  
import android.os.Bundle;  
import android.widget.EditText;  

public class ShowWordActivity extends Activity  
{  
    EditText etWord , etDescription;  
    @Override  
    public void onCreate(Bundle savedInstanceState)  
    {  
        super.onCreate(savedInstanceState);  
        setContentView(R.layout.show);  
        // 获取界面组件  
        etWord = (EditText) findViewById(R.id.word);  
        etDescription = (EditText) findViewById(R.id.description);  
        Uri uri = getIntent().getData();  
        // 获取单词ID  
        long id = ContentUris.parseId(uri);  
        // 从ContentProvider查询指定单词  
        Cursor cursor = getContentResolver().query(  
            Uri.parse("content://org.crazyit.providers.dictprovider/words")  
            , null , "_id=?" , new String[]{id + ""} , null );  
        if(cursor.moveToNext())  
        {  
            // 使用界面组件显示查询得到的结果  
            etWord.setText(cursor.getString(1));  
            etDescription.setText(cursor.getString(2));  
        }  
    }  
}  



[html] view plain copy
<activity  
            android:name=".ShowWordActivity"  
            android:label="@string/title_activity_show_word" >  
            <intent-filter>  
                <action android:name="android.intent.action.VIEW"/>  
                <category android:name="android.intent.category.DEFAULT"/>  
                <data android:mimeType="vnd.android.cursor.item/org.crazyit.dict"/>  
            </intent-filter>  
        </activity>  



[html] view plain copy
<?xml version="1.0" encoding="utf-8"?>  
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:orientation="vertical"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    >  
<TextView  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:text="@string/word"  
/>  
<EditText  
    android:id="@+id/word"  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:cursorVisible="false"  
    android:editable="false"  
/>  
<TextView  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:text="@string/description"  
/>  
<EditText  
    android:id="@+id/description"  
    android:layout_width="fill_parent"  
    android:layout_height="wrap_content"  
    android:lines="3"  
    android:cursorVisible="false"  
    android:editable="false"  
/>  
</LinearLayout>  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验目的 综合运用基于android平台的智能移动终端软件开发技术。 实验内容 设计实现一个智能移动终端软件应用,至少包含3个相互关联的应用功能,具有较好的用户界面和实际的应用价值以及合理的功能模块结构。 设计方案 实现一个日记本。分为登录界面、日记列表界面、日记内容界面、日记查找界面、日记新建界面。使用SQLiteDatabase数据库存储日记内容。 首先要有一个LoginActivity,输入密码,点击按钮,判断密码是否正确后,用intent跳转到MainActivity。 MainActivity主要包括activity_main里列表的关联,实现点击列表时跳转到show_content_diary日记内容界面,启动ShowContentDiary活动。同时,MainActivity还实现了菜单的初始化,使用上下文菜单,包括搜索和新建功能。MainActivity里还有Set_refresh_data函数,用于初始化和删除日记之后刷新列表。 Note是一个日记信息类,类似于结构体。里面有set和get方法。 NoteAdapter类继承了ArrayAdapter,相当于是Note数组对象的适配器,用来包装Note数据,很好地实现数据和界面分离。 AddNewDiary这个类用于新建一则日记,使用add_new_diary.xml界面,这里没有实现图片添加功能,只是用Toast说明,除此之外,自动写好时间、日期,只需要添加标题和内容即可。 要创建一个数据库的帮助类,这样使用起SQLiteDatabase就方便了。这和sql查询语言类似,创建、查询、删除……

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值