ROOT方法:
1、安装Samsung Kies在电脑上,手机进入设置-应用程序-开发,将第一个USB调试和第二个保持唤醒状态打钩选中。然后通过USB线连接电脑,提示安装USB驱动。
2、在电脑上解压ROOT(电脑端)文件,点SuperOneClick.exe,进入界面后点击ROOT进行自动运行,最后弹出一个对话框,点击“否(N)”,一切成功。手机端自动加载软件“授权管理”。
3、在手机上安装Root Explorer RE 管理器(手机端),安装完成后,重启手机,再开启 RE 管理器,获得ROOT权限。
4、一切均已完成,可以自由删除软件了。打开RE 管理器,点击上端,挂载为续写。进入SYSTEM/APP ,这里都是系统软件,可以删除你不需要的软件了,删除前要备份!
5、文件名自己要好好甄别。开心为kaixin.apk 人人为renren.apk。点住长按就会出现选项,选择删除即可。
table view 修改背景
UIImageView *background = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"background.jpg"]];
[[self tableView] setBackgroundView:background];
[background autorelease];
今天还出了一个错误 本来是array的对象 突然debug的时候发现变成NSCFString了, 网上查了下,说是内存方面的错误,
后来发现
@property (nonatomic, retain) NSArray *array;
在代码中 array = [_context executeFetchRequest:fetchRequest error:&error];
和 self.array = [_context executeFetchRequest:fetchRequest error:&error];
效果是不一样的, 前者没有保存(retain)array对象,所以才出错
1.main.xml
< ?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:id="@+id/dateDisplay" android:layout_width="fill_parent" android:textsize="20sp" android:layout_height="wrap_content"> </textview> <button android:text="改变日期" android:id="@+id/pickDate" android:textsize="20sp" android:layout_width="wrap_content" android:layout_height="wrap_content"> </button> </linearlayout>
其中文本框用来显示时间,按钮为了触发日期选择对话框,当然用其他组件来触发日期选择对话框也是的。
2.java代码
package android.basic.lesson10;
import java.util.Calendar; import android.app.Activity; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener; import android.app.Dialog; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.DatePicker; import android.widget.TextView; public class MainHelloDatePicker extends Activity { //准备公用属性 private TextView dateDisplay; private Button pickDate; private int mYear; private int mMonth; private int mDay; //准备对话框Id static final int DATE_DIALOG_ID = 0; //准备日期设置监听器 private OnDateSetListener dsl = new DatePickerDialog.OnDateSetListener(){ @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear =year; mMonth= monthOfYear; mDay= dayOfMonth; dateDisplay.setText(mYear+"-"+(mMonth+1)+"-"+mDay); } }; //重写创建对话框方法 @Override protected Dialog onCreateDialog(int id){ switch(id){ case DATE_DIALOG_ID: //把Activity上下文、日期设置监听器、以及日期的年月日都作为参数传给那个新成立的对话框组件 return new DatePickerDialog(this, dsl, mYear, mMonth, mDay); } return null; } /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //得到当前日期 final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); //获取xml中的组件 dateDisplay= (TextView)findViewById(R.id.dateDisplay); pickDate = (Button)findViewById(R.id.pickDate); //给日期显示组件一个初始值 dateDisplay.setText(mYear+"-"+(mMonth+1)+"-"+mDay); //给按钮绑定点击监听器 pickDate.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { showDialog(DATE_DIALOG_ID); } }); } }