当前位置: 编程技术>移动开发
本页文章导读:
▪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 走上移动开发之安卓项目实战(小帅新闻:新闻主界面布局 以及导航条的实现)
然后就是对 MainActivity.java 文件进行实现功能 下面是具体代码
还需要用到一个类是对像素跟DP之间来转换
这样,通过上面的步骤,新闻客户端的基本步骤就完成了,下面送上刚刚编写完成的代码
上次跟大家已经说完了百度地图的使用,简单的概括了百度地图对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)
原因已找到
是和其它设备配置起冲突导致出现这个问题
最新技术文章: