当前位置:  编程技术>移动开发
本页文章导读:
    ▪007 走下移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现)        007 走上移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现)上次跟大家已经说完了百度地图的使用,简单的概括了百度地图对API的调用方法已经使用方法,今天开始带来.........
    ▪ TextView跟EditText 属性详细介绍        TextView和EditText 属性详细介绍TextView属性详细介绍: http://www.cnblogs.com/hxxy2003/archive/2011/08/05/2129050.html EditText属性详细介绍: http://www.cnblogs.com/over140/archive/2010/09/02/1815439.html 禁止edittext复制粘.........
    ▪ S3C6410(arm11核)的DM9000移栽       S3C6410(arm11核)的DM9000移植 第一步 配置内核 [*] Networking support ---> Networkingoptions ---> [*]TCP/IP networking Device Drivers ---> [*]Network device support ---&.........

[1]007 走下移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现)
    来源: 互联网  发布时间: 2014-02-18
007 走上移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现)

上次跟大家已经说完了百度地图的使用,简单的概括了百度地图对API的调用方法已经使用方法,今天开始带来的是新闻客户端的使用


飞机直达-->小帅新闻客户端源代码下载


首先让我们先来看看效果图片



对这个客户端的实现首先要感谢   若水   的无私恭喜,希望大家多多支持若水


首先创建如下图所展示的工程



接下来就是打开main.xml文件进行编辑下面是XML文件的全部代码

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@id/main_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
	android:background="@drawable/main_background">
	
    <RelativeLayout 
        android:id="@id/titlebar_layout"
        android:layout_width="match_parent"
    	android:layout_height="wrap_content"
    	android:background="@drawable/titlebar_background">
        <TextView 
            android:id="@id/titlebar_title"
            android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
    		android:text="@string/titlebar_xiaoshuai"
    		android:textSize="23sp"
    		android:layout_marginTop="8dp"
    		android:layout_marginLeft="10dp"
            />
        <Button 
            android:id="@id/titlebar_refresh"
            android:layout_width="wrap_content"
    		android:layout_height="wrap_content"
            android:background="@drawable/titlebar_btn_refresh_selector"
            android:layout_alignParentRight="true"
            android:layout_marginTop="8dp"
            android:layout_marginRight="12dp"
            />
    </RelativeLayout>
    <RelativeLayout 
        android:id="@id/categorybar_layout"
        android:layout_width="match_parent"
    	android:layout_height="wrap_content"
    	android:background="@drawable/categorybar_background"
    	android:layout_marginTop="-16dp">
        <HorizontalScrollView 
            android:id="@id/category_scrollview"
        	android:layout_width="match_parent"
    		android:layout_height="wrap_content"
    		android:layout_marginLeft="6dp"
    		android:scrollbars="none"
    		android:layout_toLeftOf="@id/category_arrow_right"
    		android:layout_centerVertical="true">
            <LinearLayout
    			android:id="@id/category_layout"
    			android:layout_width="wrap_content"
    			android:layout_height="wrap_content"
            	android:gravity="center_vertical"/>
        </HorizontalScrollView>
        <Button 
             android:id="@id/category_arrow_right"
        	 android:layout_width="6dp"
    		 android:layout_height="10dp"
    		 android:background="@drawable/categorybar_right_arrow"
    		 android:layout_alignParentRight="true"
             android:layout_marginRight="15dp"
             android:gravity="center_vertical"
             android:layout_centerVertical="true"/>
    </RelativeLayout>
    <ListView 
        android:id="@id/newslist"
        android:layout_width="wrap_content"
    	android:layout_height="fill_parent"
    	android:listSelector="@drawable/newslist_item_selector"
    	android:cacheColorHint="#00000000"
    	android:divider="@drawable/list_separator_line">
        
    </ListView>
</LinearLayout>

然后就是对  MainActivity.java  文件进行实现功能 下面是具体代码

package com.sy.news.activity;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import android.app.Activity;
import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.view.Gravity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.GridView;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import android.widget.SimpleAdapter;
import com.sy.news.R;
import com.sy.news.util.DensityUtil;

public class MainActivity extends Activity {
	//定义category.setColumnWidth的宽度
	private final int COLUMNWIDTHPX = 130;
	private int mColumnWidthDip;
	//定义滚动的距离
	private final int FLINGVELOCITYPX = 1000;
	private int mFlingVelocityDip;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mColumnWidthDip = DensityUtil.px2dip(this, COLUMNWIDTHPX);
        mFlingVelocityDip = DensityUtil.px2dip(this, FLINGVELOCITYPX);
        //获取文章的分类信息
        String[] categoryArray = getResources().getStringArray(R.array.categories);
        //设置数据适配器
        List<HashMap<String,String>> categories = new ArrayList<HashMap<String,String>>();
        for(int i = 0;i<categoryArray.length;i++){
        	HashMap<String,String> hashMap = new HashMap<String, String>();
        	hashMap.put("category_title", categoryArray[i]);
        	categories.add(hashMap);
        }
        SimpleAdapter categoryAdapter = new SimpleAdapter(
        		this,
        		categories, 
        		R.layout.category_title, 
        		new String[]{"category_title"}, 
        		new int[]{R.id.category_title});
        //声明GridView视图
        GridView category = new GridView(this);
        category.setColumnWidth(mColumnWidthDip);
        category.setNumColumns(GridView.AUTO_FIT);
        //设置对其方式
        category.setGravity(Gravity.CENTER);
        //指定宽度和高度
        int width = mColumnWidthDip * categories.size();
        LayoutParams params = new LayoutParams(width,LayoutParams.WRAP_CONTENT);
        //对控件产生作用
        category.setLayoutParams(params);
        //设置控件的颜色
        category.setSelector(new ColorDrawable(Color.TRANSPARENT));
        //传人数据
        category.setAdapter(categoryAdapter);
        //去掉滚动到最边界产生的阴影(没有效果)
        category.setHorizontalFadingEdgeEnabled(false);
        //放入界面
        LinearLayout categoryLayout = (LinearLayout) findViewById(R.id.category_layout);
        categoryLayout.addView(category);
        //为Button添加事件让其可以控制导航栏
        final HorizontalScrollView categoryScrollview = (HorizontalScrollView) findViewById(R.id.category_scrollview);
        Button categoryArrowRight = (Button) findViewById(R.id.category_arrow_right);
        categoryArrowRight.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				categoryScrollview.fling(mFlingVelocityDip);
			}
		});
    }
}

还需要用到一个类是对像素跟DP之间来转换


package com.sy.news.util;
 
import android.content.Context;


public class DensityUtil
{
	/**
	 * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
	 */
	public static int dip2px(Context context, float dpValue)
	{
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (dpValue * scale + 0.5f);
	}

	/**
	 * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
	 */
	public static int px2dip(Context context, float pxValue)
	{
		final float scale = context.getResources().getDisplayMetrics().density;
		return (int) (pxValue / scale + 0.5f);
	}

}

这样,通过上面的步骤,新闻客户端的基本步骤就完成了,下面送上刚刚编写完成的代码



    
[2] TextView跟EditText 属性详细介绍
    来源: 互联网  发布时间: 2014-02-18
TextView和EditText 属性详细介绍

TextView属性详细介绍:

http://www.cnblogs.com/hxxy2003/archive/2011/08/05/2129050.html

EditText属性详细介绍:

http://www.cnblogs.com/over140/archive/2010/09/02/1815439.html


禁止edittext复制粘贴(剪切板)

textField.setLongClickable(false); 

Android自由选择TextView的文字

http://blog.csdn.net/muyu114/article/details/6337789


    
[3] S3C6410(arm11核)的DM9000移栽
    来源: 互联网  发布时间: 2014-02-18
S3C6410(arm11核)的DM9000移植

 
第一步 配置内核
             
[*] Networking support  ---> 
       Networkingoptions  --->  
              [*]TCP/IP networking
Device Drivers  --->
                     [*]Network device support  --->
                     [*]   Ethernet (10 or 100Mbit)  --->
                            <*>   DM9000 support
             
第二步 配置参数
(1)
#include <linux/dm9000.h>
// ANW6410_PA_DM9000根据电路图中使用的片选决定
#define ANW6410_PA_DM9000  (0x18000000)
static struct resourceanw6410_dm9000_resource[] = {
       [0]= {
              .start= ANW6410_PA_DM9000,
              .end   = ANW6410_PA_DM9000 + 3,
              .flags= IORESOURCE_MEM,
       },
       [1]= {
              .start= ANW6410_PA_DM9000 + 4,
              .end   = ANW6410_PA_DM9000 + 4 + 500,
              .flags= IORESOURCE_MEM,
       },
       [2]= {
              .start= IRQ_EINT(7),
              .end   = IRQ_EINT(7),
              .flags= IORESOURCE_IRQ | IRQF_TRIGGER_HIGH,
       },
};
 
static struct dm9000_plat_dataanw6410_dm9000_pdata = {
       .flags        =(DM9000_PLATF_16BITONLY | DM9000_PLATF_NO_EEPROM),
       /*dev_addr can be set to provide hwaddr. */
};
 
static struct platform_deviceanw6410_device_eth = {
       .name      = "dm9000",
       .id   = -1,
       .num_resources      = ARRAY_SIZE(anw6410_dm9000_resource),
       .resource = anw6410_dm9000_resource,
       .dev = {
              .platform_data  = &anw6410_dm9000_pdata,
       },
};
 
在anw6410_machine_init中调用anw6410_dm9000_enable();
(4)
static struct platform_device*anw6410_devices[] __initdata = {
       &s3c_device_fb,
       &anw6410_lcd_powerdev,
       &anw6410_device_eth,
       &s3c_device_nand,
};
 
移植中遇到的问题:
1.移植dm9000
开发板ping电脑时,系统死掉,提示以下错误
[root@FriendlyARM /]# ping 192.168.1.89
PING 192.168.1.89 (192.168.1.89): 56 data bytes
------------[ cut here ]------------
WARNING: at net/sched/sch_generic.c:246 dev_watchdog+0x15c/0x244()
NETDEV WATCHDOG: eth0 (dm9000): transmit queue 0 timed out
Modules linked in:
[<c0025868>] (unwind_backtrace+0x0/0xd4) from [<c0036f40>] (warn_slowpath_common
+0x48/0x60)
[<c0036f40>] (warn_slowpath_common+0x48/0x60) from [<c0036f90>] (warn_slowpath_f
mt+0x24/0x30)


原因已找到
是和其它设备配置起冲突导致出现这个问题
 



    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
▪Android提高之多方向抽屉实现方法
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3