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代码如下: ...
随机推荐
- WinCE发展史
Windows CE概述 WindowsCE是微软公司嵌入式.移动计算平台的基础,它是一个开放的.可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作系统,它是精简的Windows 95,W ...
- 将你的Asp.NET应用程序嵌入到SharePoint
转:http://www.cnblogs.com/Clank/archive/2007/05/21/754073.html 为什么要将Asp.net应用程序嵌入到SharePoint?这个我们不讨论! ...
- MySQL查询大小写是否敏感问题分析
mysql数据库在做查询时候,有时候是英文字母大小写敏感的,有时候又不是的,主要是由mysql的字符校验规则的设置决定的,通常默认是不支持的大小写字母敏感的. 1. 什么是字符集和校验规则? 字符集 ...
- POJ3281 Dining 最大流
题意:有f种菜,d种饮品,每个牛有喜欢的一些菜和饮品,每种菜只能被选一次,饮品一样,问最多能使多少头牛享受自己喜欢的饮品和菜 分析:建边的时候,把牛拆成两个点,出和入 1,源点向每种菜流量为1 2,每 ...
- Hadoop2.7.2安装笔记
1.设置免密SSH登录 $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/autho ...
- POM详细配置
POM的全称是“ProjectObjectModel(项目对象模型)”. pom.xml详解 声明规范 <projectxmlns="http://maven.apache.org/P ...
- leetcode—word ladder II
1.题目描述 Given two words (start and end), and a dictionary, find all shortest transformation sequence( ...
- 浏览器中显示视频,flash等的代码处理
window.flashView=function(flash_url){ var html=''; html+='<div id="obj_flash_div">'; ...
- 【转载】socket的半包,粘包与分包的问题
http://zhaohuiopensource.iteye.com/blog/1541270 首先看两个概念: 短连接: 连接->传输数据->关闭连接 HTTP是无状态的,浏览器和 ...
- MySQL 字段类型详解
一.非数字类型 类型 范围 说明 Char(N) [ binary] N=1~255 个字元 binary :分辨大小写 固定长度 std_name cahr(32) not null VarCh ...