android131 360 04 手机安全页面
## Root权限 ## > 什么是Root权限? Root权限相当于系统管理员权限, 有了root权限,就可以随意修改和删除手机内部的文件. > 一般手机购买之后, 都没有root权限. 厂商考虑到安全性因素,不允许用户或者第三方app删除和修改手机的内部文件,比如data/data下面的文件(当然,sdcard的内容可以随意修改,不需要root权限) > 如何获取root权限?
> 可以用第三方软件,比如刷机大师等. 一键root > 有了Root后可以干嘛?
> 1. 刷机
> 2. 删除手机内置的app
> 3. 访问data/data目录的文件,并进行修改 > 怎么才能知道手机有么有root?
> 1. 刷机大师(小白用户用此方法)
> 2. 查看是否可以访问data/data目录,如果可以,就说明已经root了
> 3. cmd命令行,运行adb shell, 如果显示#,表示已经root, 如果显示$,表示没有root(如果用真机运行,即使root了,也显示$,这时候,运行命令su,可以直接获取管理员权限) ## MD5 ## > 计算字符串或文件的特征码(数字指纹), 不可逆, 因为任何文件或字符串算出来的md5都是32位! > 数据库: 123456->e10adc3949ba59abbe56e057f20f883e
> 654321->e10adsssssssssc394ffffffff0f883ddddddde > 在线破解网站: http://www.cmd5.com/ > 对MD5进行"加盐"处理, 增强安全性
> MD5(password)->MD5(password + 用户昵称 + 用户id...) ## .9.png(9-Patch) 运行adt\sdk\tools\draw9patch.bat即可进行图片的编辑(美工使用)## > 通过黑色边线来描述图片的拉伸情况和填充文字的方式
> 上黑色边线表示图片水平拉伸区域, 左黑色边线表示垂直拉伸区域,2个交叉区域为拉伸的地方。
> 右黑色边线表示垂直填充文字区域, 下黑色边线表示水平填充文字区域,2个交叉区域为填充文字的地方。 ## 状态选择器(selector) ## <?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/function_greenbutton_pressed" android:state_pressed="true"/>//按下的图片
<!-- pressed -->
<item android:drawable="@drawable/function_greenbutton_pressed" android:state_focused="true"/>//获取焦点的图片
<!-- focused -->
<item android:drawable="@drawable/function_greenbutton_normal"/>
<!-- default -->//默认图片 </selector> <Button
android:background="@drawable/btn_green_selector"
/>//将选择器设置给Button
手机安全页面:
package com.itheima52.mobilesafe.activity; import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View; import com.itheima52.mobilesafe.R; /**
* 手机防盗页面
*/
public class LostFindActivity extends Activity {
private SharedPreferences mPrefs;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPrefs = getSharedPreferences("config", MODE_PRIVATE);
boolean configed = mPrefs.getBoolean("configed", false);// 判断是否进入过设置向导,默认是false。
if (configed) {
setContentView(R.layout.activity_lost_find);
} else {
// 跳转设置向导页
startActivity(new Intent(this, Setup1Activity.class));
finish();
}
} /**
* 重新进入设置向导
*/
public void reEnter(View view) {
startActivity(new Intent(this, Setup1Activity.class));
finish();
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
style="@style/TitleStyle"
android:text="手机防盗" />
<!-- <style name="TitleStyle">
<item name="android:layout_width">match_parent</item>
<item name="android:layout_height">50dp</item>
<item name="android:background">#8866ff00</item>
<item name="android:gravity">center</item>
<item name="android:textColor">@color/black</item>
<item name="android:textSize">22sp</item>
</style> -->
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
style="@style/ContentStyle"
android:text="安全号码" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" 位于右边
android:layout_centerVertical="true" 垂直居中
android:layout_marginRight="5dp"
android:text="13812345678"
android:textColor="@color/black"
android:textSize="16sp" />
</RelativeLayout>
<!-- 分割线 -->
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal" 水平居中
android:layout_marginTop="5dp"
android:background="@drawable/listview_divider" /> 用background可以自动拉伸,用src只会有图片的大小。
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<TextView
style="@style/ContentStyle"
android:text="防盗保护是否开启" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_marginRight="5dp"
android:src="@drawable/lock" />
</RelativeLayout>
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:background="@drawable/listview_divider" />
<TextView
style="@style/ContentStyle"
android:layout_width="match_parent"
android:onClick="reEnter"
android:clickable="true" 能够被点击
android:layout_marginRight="5dp"
android:background="@drawable/shape_selector"
android:text="重新进入设置向导" />
<!-- shape_selector.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/gradient_box" android:state_pressed="true"/>
gradient_box.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" > 矩形
圆角矩形4个角地方圆形的半径
<corners android:radius="5dp" /> 渐变,矩形从左到右的颜色变化。
<gradient
android:centerColor="#fff"
android:endColor="#0f0"
android:startColor="#f00" /> 纯色
<solid android:color="#9000" />
边框
<stroke
android:width="1dp"
android:color="#000"
android:dashWidth="5dp" 虚线宽度
android:dashGap="3dp" 虚线的间隔
/> </shape>
<item android:drawable="@android:color/transparent"/> 系统半透明颜色
</selector> -->
<ImageView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="5dp"
android:background="@drawable/listview_divider" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:layout_marginTop="5dp"
android:background="#5000"
android:padding="3dp"
android:text="功能简介"
android:textColor="@color/black"
android:textSize="18sp" />
<TextView
style="@style/ContentStyle"
android:drawableLeft="@android:drawable/star_big_on" 系统的图片,在文字左边
android:gravity="center"
android:text="GPS追踪:#*location*#" />
<TextView
style="@style/ContentStyle"
android:drawableLeft="@android:drawable/star_big_on"
android:gravity="center"
android:text="播放报警音乐:#*alarm*#" />
<TextView
style="@style/ContentStyle"
android:drawableLeft="@android:drawable/star_big_on"
android:gravity="center"
android:text="远程删除数据:#*wipedata*#" />
<TextView
style="@style/ContentStyle"
android:drawableLeft="@android:drawable/star_big_on"
android:gravity="center"
android:text="远程锁屏:#*lockscreen*#" />
</LinearLayout>
设置向导1:
设置向导1:
/**
* 第一个设置向导页
*/
public class Setup1Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup1);
}
// 下一页
public void next(View view) {
startActivity(new Intent(this, Setup2Activity.class));
finish();
//两个界面切换的动画
overridePendingTransition(R.anim.tran_in, R.anim.tran_out);//进入动画和退出动画
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
style="@style/TitleStyle"
android:text="1.欢迎使用手机防盗" />
<TextView
style="@style/ContentStyle"
android:text="您的手机防盗卫士:" />
<TextView
style="@style/ContentStyle"
android:drawableLeft="@android:drawable/star_big_on" 安卓系统自带的图片,图片在文字左边。
android:gravity="center" 居中
android:text="SIM卡变更报警" />
<TextView
style="@style/ContentStyle"
android:drawableLeft="@android:drawable/star_big_on"
android:gravity="center"
android:text="GPS追踪" />
<TextView
style="@style/ContentStyle"
android:drawableLeft="@android:drawable/star_big_on"
android:gravity="center"
android:text="远程销毁数据" />
<TextView
style="@style/ContentStyle"
android:drawableLeft="@android:drawable/star_big_on"
android:gravity="center"
android:text="远程锁屏" />
<!-- 线性布局,横向的小圆形图片 -->
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center" 居中
android:orientation="horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_online" /> 安卓系统自带的图片
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/setup1" />
<Button style="@style/NextStyle" />
<!-- <style name="NextStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_alignParentBottom">true</item>
<item name="android:layout_alignParentRight">true</item>
<item name="android:background">@drawable/btn_green_selector</item>
//drawable/btn_green_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
3中不同颜色的图片
<item android:drawable="@drawable/function_greenbutton_pressed" android:state_pressed="true"/> 按下
<item android:drawable="@drawable/function_greenbutton_pressed" android:state_focused="true"/> 获取焦点不要也可以
<item android:drawable="@drawable/function_greenbutton_normal"/> 默认
</selector>
<item name="android:drawableRight">@drawable/next</item> Button右边的图片
<item name="android:text">下一步</item>
<item name="android:onClick">next</item>
</style> -->
</RelativeLayout>
</LinearLayout>
设置向导2:
/**
* 第2个设置向导页
*/
public class Setup2Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup2);
}
// 下一页
public void next(View view) {
startActivity(new Intent(this, Setup3Activity.class));
finish();
// 两个界面切换的动画
overridePendingTransition(R.anim.tran_in, R.anim.tran_out);// 页面3进入动画和页面2退出动画
//res/anim/tran_in.xml和tran_out.xml。
//tran_out.xml
/*<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXDelta="0"
android:toXDelta="-100%p" > 因为是从主界面移动到左边,所以y坐标不变,x坐标从0到-百分百P,p是parent父控件
</translate>*/
//tran_in.xml
/*<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXDelta="100%p"
android:toXDelta="0" > 因为是从右边进入,所以X坐标从100%的p到0,
</translate>*/
} // 上一页和下一步移动动画的位移是相反的
public void previous(View view) {
startActivity(new Intent(this, Setup1Activity.class));
finish();
// 两个界面切换的动画
overridePendingTransition(R.anim.tran_previous_in,R.anim.tran_previous_out);// 进入动画和退出动画
//tran_previous_in.xml
/*<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500" 持续时间
android:fromXDelta="-100%p"
android:toXDelta="0" >
</translate>*/
//tran_previous_out.xml
/*<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500"
android:fromXDelta="0"
android:toXDelta="100%p" >
</translate>*/
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:itheima="http://schemas.android.com/apk/res/com.itheima52.mobilesafe"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
style="@style/TitleStyle"
android:text="2.手机卡绑定" />
<TextView
style="@style/ContentStyle"
android:text="通过绑定SIM卡:" />
<TextView
style="@style/ContentStyle"
android:text="下次重启手机如果发现SIM卡变化" />
<TextView
style="@style/ContentStyle"
android:text="就会发送报警短信" />
<com.itheima52.mobilesafe.view.SettingItemView
android:id="@+id/siv_sim"
android:layout_width="match_parent"
android:layout_height="wrap_content"
itheima:desc_off="sim卡没有绑定"
itheima:desc_on="sim卡已经绑定"
itheima:title="点击绑定sim卡" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_online" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/bind" />
<Button style="@style/NextStyle" />
<Button style="@style/PreviousStyle" />
<!-- <style name="PreviousStyle">
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_alignParentBottom">true</item>
<item name="android:layout_alignParentLeft">true</item>
<item name="android:background">@drawable/btn_green_selector</item>
<item name="android:drawableLeft">@drawable/previous</item> Button左边的图片
<item name="android:text">上一步</item>
<item name="android:onClick">previous</item>
</style> -->
</RelativeLayout>
</LinearLayout>
设置向导3:
/**
* 第3个设置向导页
*/
public class Setup3Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup3);
}
// 下一页
public void next(View view) {
startActivity(new Intent(this, Setup4Activity.class));
finish();
// 两个界面切换的动画
overridePendingTransition(R.anim.tran_in, R.anim.tran_out);// 进入动画和退出动画
}
// 上一页
public void previous(View view) {
startActivity(new Intent(this, Setup2Activity.class));
finish();
// 两个界面切换的动画
overridePendingTransition(R.anim.tran_previous_in,
R.anim.tran_previous_out);// 进入动画和退出动画
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:itheima="http://schemas.android.com/apk/res/com.itheima52.mobilesafe"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
style="@style/TitleStyle"
android:text="3.设置安全号码" />
<TextView
style="@style/ContentStyle"
android:text="SIM卡变更后" />
<TextView
style="@style/ContentStyle"
android:text="报警短信会发送给安全号码" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入或选择安全号码" />
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/btn_light_green_selector"
android:text="请选择联系人" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_online" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/phone" />
<Button style="@style/NextStyle" />
<Button style="@style/PreviousStyle" />
</RelativeLayout>
</LinearLayout>
设置向导4:
、
public class Setup4Activity extends Activity { private SharedPreferences mPref; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_setup4);
mPref = getSharedPreferences("config", MODE_PRIVATE);
}
// 下一页
public void next(View view) {
startActivity(new Intent(this, LostFindActivity.class));
finish();
// 两个界面切换的动画
overridePendingTransition(R.anim.tran_in, R.anim.tran_out);// 进入动画和退出动画
mPref.edit().putBoolean("configed", true).commit();// 更新sp,表示已经展示过设置向导了,下次进来就不展示啦
}
// 上一页
public void previous(View view) {
startActivity(new Intent(this, Setup3Activity.class));
finish();
// 两个界面切换的动画
overridePendingTransition(R.anim.tran_previous_in,
R.anim.tran_previous_out);// 进入动画和退出动画
}
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:itheima="http://schemas.android.com/apk/res/com.itheima52.mobilesafe"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
style="@style/TitleStyle"
android:text="4.恭喜您,设置完成" />
<CheckBox
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="防盗保护没有开启" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="horizontal" >
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_invisible" />
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@android:drawable/presence_online" />
</LinearLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:src="@drawable/phone" />
<Button
style="@style/NextStyle"
android:text="设置完成" />
<Button style="@style/PreviousStyle" />
</RelativeLayout>
</LinearLayout>
android131 360 04 手机安全页面的更多相关文章
- 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...
- ecshop PC版本智能跳转到对应手机版页面
以下适用于PC跳转到ectouch手机版的写法.其他手机端的方法类似. 修改文件 includes/lib_main.php 增加以下 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
- error while obtaining ui hierarchy xml file...用 uiautomatorviewer 获取安卓手机软件页面时报错
Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't ...
- ecshop其他页面判断是智能手机访问也跳转到ECTouch对应手机版页面(转)
ecshop 其他页面(商品详情页.商品分类页.团购页.优惠活动页.积分商城) 判断如果是智能手机访问跳转到ECTouch1.0手机版对应页面 方法 首先在ecshop 根目录下 includes/l ...
- [HTML] 微信开发之移动手机WEB页面(HTML5)Javascript实现一键拨号及短信发送功能
在做一个微信的微网站中的一个便民服务电话功能的应用,用到移动web页面中列出的电话号码,点击需要实现调用通讯录,网页一键拨号的拨打电话功能. 如果需要在移动浏览器中实现拨打电话,发送email,美国服 ...
- IOS手机 html5页面 数字变成蓝色链接的原因
IOS手机 html5页面 数字变成蓝色链接的原因 这个是ios手机自动识别 写如下代码 即可<pre> <meta name="format-detection" ...
- android131 360 01 闪屏页和主页面
主界面: 软件升级流程: 清单文件: <?xml version="1.0" encoding="utf-8"?> <manifest xml ...
- android131 360 05 手势触摸滑动,sim卡,开机启动的广播,手机联系人,SharedPreferences,拦截短信
安卓手势触摸滑动: package com.itheima52.mobilesafe.activity; import android.app.Activity; import android.con ...
- 手机web页面调用手机QQ实现在线聊天的效果
html代码如下: <a href="javascript:;" onclick="chatQQ()">QQ咨询</a> js代码如下: ...
随机推荐
- 【Java】【编译】javac编译源代码时,若源文件使用了别的java源代码的函数,javac会自动关联。
* 算法第四版自己的alg4.jar似乎有些过时. * 可以引用别的源码文件里的函数
- 新功能:Azure Traffic Manager 嵌套配置文件
Jonathan Tuliani Azure 网络 - DNS 和 Traffic Manager 项目经理 我们很高兴地宣布,Azure Traffic Manager 支持 Traffic Ma ...
- ubuntu终端提示符@name修改
需要修改两个文件: 1.在终端输入 vim /etc/hosts 将当前的name改为ubuntu: 2.在终端输入 vim /etc/hostsname 将当前的name改为ubuntu: 3.重 ...
- sizeof的作用——解释类中与类之外static变量的情况
今天看程序员面试宝典的时候遇到一个问题,书上有这么一句话:sizeof计算栈中分配的大小.咋一看这句话的时候,很不理解,难道像函数中类似于static.extern const类型的变量的sizeof ...
- uvalive 4992 Jungle Outpost
题意:一个凸边型,目标在凸边型内且最优.问最多删除几个点使目标暴露在新凸边型外面. 思路:二分+半平面相交. #include<cstdio> #include<cmath> ...
- HDU-4622 Reincarnation 后缀数组 | Hash,维护和,扫描
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4622 题意:给一个字符串,询问某字串的不同字串的个数. 可以用后缀数组来解决,复杂度O(n).先求出倍 ...
- Method Swizzling 和 AOP 实践(转)
上一篇介绍了 Objective-C Messaging.利用 Objective-C 的 Runtime 特性,我们可以给语言做扩展,帮助解决项目开发中的一些设计和技术问题.这一篇,我们来探索一些利 ...
- Bugs及解决方案列表
Bugs及解决方案列表(以下实例默认运行环境都为Standard mode): 如何在IE6及更早浏览器中定义小高度的容器? 方法: #test{overflow:hidden;height:1px; ...
- Shell 脚本学习资料搜集
Shell文档 ChinaUnix上大神“網中人”总结的Shell十三问,强烈推荐,这本书讲得比较精炼,而且都是一些Shell学习中容易把握不住的一些细节难点.每一问都写得非常精彩.ChinaUnix ...
- support-v4不能查看源码
在Android实际开发过程中往往会遇到使用v4,v7或v13兼容包中的一些类如ViewPager,Fargment等,但却无法关联源码 具体步骤: 1 右击Android项目中libs文件夹下的an ...