<改变imageView的颜色和状态栏>
1.
import android.content.Context;
import android.content.res.TypedArray;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.widget.ImageView; import java.util.ArrayList; public class RippleImageView extends ImageView {
public static ArrayList<RippleImageView> ImageList = new ArrayList<RippleImageView>(); private boolean globalColor = false; public RippleImageView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
StatusBarUtils.RippleView(this, context); TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.mk);
globalColor = ta.getBoolean(R.styleable.mk_globalcolor, false);
if(globalColor == true)
{
setColorFilter(ColorUtils.GlobalColor);
} if(ImageList.contains(this) == false)
{
ImageList.add(this);
}
} public void ChangeColor(int Color)
{
if(globalColor == true)
{
setColorFilter(Color);
}
}
}
2.
import android.content.res.ColorStateList;
public class ColorUtils {
public static int GlobalColor = 0xffd43b33;
public static int GlobalColorSelected = 0xffffffff;
public static String GlobalColorString = "#FFD43B33";
public static int GlobalTextColorTitle = 0xff606060;
public static int GlobalTextColorSubtitle = 0xff7f7d7d;
public static ColorStateList colorStateList= null;
public static ColorStateList getColorStateList(int mode)
{
if(colorStateList == null)
{
int[][] states = new int[][];
states[] = new int[]{android.R.attr.state_pressed};
states[] = new int[]{android.R.attr.state_enabled};
int[] colors = new int[]{GlobalColor, GlobalColor};
colorStateList = new ColorStateList(states, colors);
}
return colorStateList;
}
public static void SetThemeColor(int BackColor, boolean backColorLight)
{
GlobalColor = BackColor;
if(backColorLight == true)
{
GlobalTextColorTitle = 0xff606060;
GlobalTextColorSubtitle = 0xff7f7d7d;
}
else
{
GlobalTextColorTitle = 0xffffffff;
GlobalTextColorSubtitle = 0xffd0cece;
}
}
}
3.
import android.app.Activity;
import android.app.Dialog;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Color;
import android.os.Build;
import android.view.View;
import android.view.Window;
import android.view.WindowManager; public class StatusBarUtils {
public static void setWindowStatusBarColor(Activity activity, String color) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.parseColor(color)); //底部导航栏
//window.setNavigationBarColor(activity.getResources().getColor(colorResId));
}
} catch (Exception e) {
e.printStackTrace();
}
} public static void setWindowStatusBarColor(Dialog dialog, String color) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = dialog.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.parseColor(color)); //底部导航栏
//window.setNavigationBarColor(activity.getResources().getColor(colorResId));
}
} catch (Exception e) {
e.printStackTrace();
}
} public static void RippleView(View view, Context context)
{
if(android.os.Build.VERSION.SDK_INT >= )
{
int[] attrsArray = { android.R.attr.selectableItemBackgroundBorderless };
//TypedArray typedArray = activity.obtainStyledAttributes(attrsArray);
TypedArray typedArray = context.obtainStyledAttributes(attrsArray);
int selector = typedArray.getResourceId(, attrsArray[]);
view.setBackgroundResource(selector);
// don't forget the resource recycling
typedArray.recycle();
}
else
{
int[] attrsArray = { android.R.attr.selectableItemBackground };
TypedArray typedArray = context.obtainStyledAttributes(attrsArray);
//TypedArray typedArray = getActivity().obtainStyledAttributes(attrsArray);
int selector = typedArray.getResourceId(, attrsArray[]);
view.setBackgroundResource(selector);
typedArray.recycle();
} }
}
3333_
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.support.design.widget.BottomSheetBehavior;
import android.support.design.widget.CoordinatorLayout;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.widget.NestedScrollView;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Gravity;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.Switch;
import android.widget.TextView; import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode; import java.util.ArrayList;
import java.util.List;
import java.util.Observable; public class MainActivity extends AppCompatActivity {
private static final String TAG = "MainActivity";
List<RippleImageView> viewlist=new ArrayList<>();
//TextView textTest;
ArrayList<ImageView> buttonGroup = new ArrayList<ImageView>();
int selectedButtonID = -;
BottomSheetBehavior behavior;
String packName;
int StyleNow; //1-Light Style 2-DarkStyle
TextView textViewSongName ;
TextView textViewSingerName; /**
* 自定义stylecolor 标识 1-6种
*/
int styleNowColor;
/**
*
* 添加部分 gxw 17/06/13
*/
RippleImageView imageViewCD,imageViewSkip,imageViewNext,imageViewStop,imageViewMore; /**
* 需要改变颜色的底部五个image集合
*/
RippleList rippleList;
/**
* 当前显示的fragment序号
*/
int fragmentNow;
/**
* LinearLayout 界面顶部红色的部分(可以改变颜色的部分)
*/
LinearLayout appBarLayoutUp;
FragmentTransaction fragmentTransaction;
FragmentManager fragmentManager; /**
* 判断HomeActivity需要进入哪个fragment
*/
int type; private void SetChecked(int id)
{
selectedButtonID = id;
for(int i = ; i < buttonGroup.size(); i++)
{
if(id == i)
{
changeFragment(i+);
Log.d(TAG, "SetChecked:选择 "+i);
buttonGroup.get(i).setAlpha(1.0f);
}
else
{
buttonGroup.get(i).setAlpha(0.7f);
}
}
} @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EventBus.getDefault().register(this);
type=getIntent().getIntExtra("type",);
Log.d(TAG, "onCreate: +type=="+type);
initView();
initialize(type);
packName = getPackageName();
SharedPreferences prefs = getSharedPreferences(packName, Context.MODE_PRIVATE);
StyleNow = prefs.getInt("Style", );
if(StyleNow == ) {
ColorUtils.SetThemeColor(0xffd43b33, true);
}
else if(StyleNow == )
{
ColorUtils.SetThemeColor(0xffd43b33, false);
}
textViewSongName = (TextView) findViewById(R.id.textViewSongName);
textViewSingerName = (TextView) findViewById(R.id.textViewSingerName);
TextView textViewScan = (TextView) findViewById(R.id.textViewScan);
imageViewCD= (RippleImageView) findViewById(R.id.imageViewCD);
StatusBarUtils.RippleView(textViewSongName, this);
StatusBarUtils.RippleView(textViewSingerName, this);
StatusBarUtils.RippleView(textViewScan, this);
LinearLayout appBarLayoutUp = (LinearLayout)findViewById(R.id.appBarLayoutUp);
appBarLayoutUp.setBackgroundColor(ColorUtils.GlobalColor); ImageView imageViewProg = (ImageView)findViewById(R.id.imageViewProg);
imageViewProg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SetChecked();
}
});
ImageView imageViewSinger = (ImageView)findViewById(R.id.imageViewSinger);
imageViewSinger.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SetChecked();
}
});
ImageView imageViewSong = (ImageView)findViewById(R.id.imageViewSong);
imageViewSong.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SetChecked();
}
});
ImageView imageViewFavo = (ImageView)findViewById(R.id.imageViewFavo);
imageViewFavo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SetChecked();
}
});
ImageView imageViewRecord = (ImageView)findViewById(R.id.imageViewRecord);
imageViewRecord.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SetChecked();
}
});
buttonGroup.add(imageViewProg);
buttonGroup.add(imageViewSinger);
buttonGroup.add(imageViewSong);
buttonGroup.add(imageViewFavo);
buttonGroup.add(imageViewRecord); ImageView imageViewBagde = (ImageView)findViewById(R.id.imageViewBagde);
final RippleImageView imageViewStop= (RippleImageView) findViewById(R.id.imageViewStop);
imageViewStop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
imageViewStop.ChangeColor(getResources().getColor(R.color.styleColor2));
}
}); BadgeView badge = new BadgeView(this);
badge.setTargetView(imageViewBagde);
badge.setBadgeGravity(Gravity.CENTER);
badge.setBadgeCount();
StatusBarUtils.setWindowStatusBarColor(this, ColorUtils.GlobalColorString);
ImageView imageViewMore = (ImageView)findViewById(R.id.imageViewMore);
imageViewMore.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(behavior.getState() == BottomSheetBehavior.STATE_EXPANDED) {
/**
* 加的
*/
MainActivity.this.finish();
behavior.setState(BottomSheetBehavior.STATE_COLLAPSED);
}else {
behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}
}
});
NestedScrollView nsView = (NestedScrollView)findViewById(R.id.bottomSetting);
behavior = BottomSheetBehavior.from(nsView);
behavior.setState(BottomSheetBehavior.STATE_HIDDEN);
ImageView imageViewBackFromSetting = (ImageView)findViewById(R.id.imageViewBackFromSetting);
RadioButton rb1 = (RadioButton)findViewById(R.id.radioButtonLight);
rb1.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked == true)
{
StyleNow = ;
EventBus.getDefault().post(new Message());
CoordinatorLayout coordinatorLayout= (CoordinatorLayout) findViewById(R.id.layoutbase);
coordinatorLayout.setBackgroundResource(R.drawable.bg01);
}
}
});
RadioButton rb2 = (RadioButton)findViewById(R.id.radioButtonDark);
rb2.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked == true)
{
StyleNow = ;
EventBus.getDefault().post(new Message());
CoordinatorLayout coordinatorLayout= (CoordinatorLayout) findViewById(R.id.layoutbase);
coordinatorLayout.setBackgroundResource(R.drawable.bg02);
}
}
});
if(StyleNow == )
{
rb1.setChecked(true);
textViewSongName.setTextColor(getResources().getColor(R.color.lightStyle_TextColor));
textViewSingerName.setTextColor(getResources().getColor(R.color.lightStyle_TextColor));
}
else if(StyleNow == )
{
rb2.setChecked(true);
textViewSongName.setTextColor(getResources().getColor(R.color.darkStyle_TextColor));
textViewSingerName.setTextColor(getResources().getColor(R.color.darkStyle_TextColor));
} imageViewBackFromSetting.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(StyleNow == ) {
ColorUtils.SetThemeColor(0xffd43b33, true); }
else if(StyleNow == )
{
ColorUtils.SetThemeColor(0xffd43b33, false);
}
SharedPreferences prefs = getSharedPreferences(packName, Context.MODE_PRIVATE);
SharedPreferences.Editor ed = prefs.edit();
ed.putInt("Style", StyleNow);
ed.commit();
behavior.setState(BottomSheetBehavior.STATE_HIDDEN);
}
}); SetChecked(type-);
imageViewCD.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, PlayActivity.class));
}
}); } /**
* gxw 17/06/13
*/ public void initialize( int type){
fragmentManager=getSupportFragmentManager();
fragmentTransaction=fragmentManager.beginTransaction();
fragmentTransaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
switch (type){
case :
fragmentTransaction.replace(R.id.fragmentlayout,new ProFragment());
fragmentNow=;
break;
case :
fragmentTransaction.replace(R.id.fragmentlayout,new SingerFragment());
fragmentNow=;
break;
case :
fragmentTransaction.replace(R.id.fragmentlayout,new SongFragment());
fragmentNow=;
break;
case :
fragmentTransaction.replace(R.id.fragmentlayout,new FavoFragment());
fragmentNow=;
break;
case :
fragmentTransaction.replace(R.id.fragmentlayout,new RecordFragment());
fragmentNow=;
break;
} fragmentTransaction.commit(); } public void changeFragment(int i){
fragmentManager=getSupportFragmentManager();
fragmentTransaction=fragmentManager.beginTransaction();
/**
* 判断动画的切换方向
*/
if(fragmentNow>i){
fragmentTransaction.setCustomAnimations(R.anim.push_left_in,R.anim.push_left_out);
}else if(fragmentNow<i){
fragmentTransaction.setCustomAnimations(R.anim.back_left_in,R.anim.back_right_out);
} switch (i){
case :
fragmentTransaction.replace(R.id.fragmentlayout,new ProFragment());
fragmentNow=;
break;
case :
fragmentTransaction.replace(R.id.fragmentlayout,new SingerFragment());
fragmentNow=;
break;
case :
fragmentTransaction.replace(R.id.fragmentlayout,new SongFragment());
fragmentNow=;
break;
case :
fragmentTransaction.replace(R.id.fragmentlayout,new FavoFragment());
fragmentNow=;
break;
case :
fragmentTransaction.replace(R.id.fragmentlayout,new RecordFragment());
fragmentNow=;
break; } // fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit(); } @Subscribe(threadMode = ThreadMode.MAIN)
public void onEventMainThread(com.multak.cookaraclient.info.Message msg){
if(msg.getStyle() == )
{
textViewSongName.setTextColor(getResources().getColor(R.color.lightStyle_TextColor));
textViewSingerName.setTextColor(getResources().getColor(R.color.lightStyle_TextColor));
}
else if(msg.getStyle() == )
{
textViewSongName.setTextColor(getResources().getColor(R.color.darkStyle_TextColor));
textViewSingerName.setTextColor(getResources().getColor(R.color.darkStyle_TextColor));
}
} public void initView(){
appBarLayoutUp= (LinearLayout) findViewById(R.id.appBarLayoutUp);
int x=SharedPreferencesUtils.getParam(this,"StyleNowColor",);
Log.d(TAG, "initView: 颜色1::"+x);
imageViewCD= (RippleImageView) findViewById(R.id.imageViewCD);
imageViewSkip= (RippleImageView) findViewById(R.id.imageViewSkip);
imageViewNext= (RippleImageView) findViewById(R.id.imageViewNext);
imageViewStop= (RippleImageView) findViewById(R.id.imageViewStop);
imageViewMore= (RippleImageView) findViewById(R.id.imageViewMore);
viewlist.add(imageViewCD);
viewlist.add(imageViewSkip);
viewlist.add(imageViewNext);
viewlist.add(imageViewStop);
viewlist.add(imageViewMore);
rippleList=new RippleList(viewlist,this);
setStatubar(x);
rippleList.setColor(x); //rippleList.setLinearLayout(appBarLayoutUp,x);
appBarLayoutUp.setBackgroundColor(getResources().getColor(R.color.styleColor4)); } /**
*
* @param view 自定义颜色选择,并作操作处理
*/
public void setStyleColor(View view){
switch (view.getId()){
case R.id.textView_styleColor1:
rippleList.setColor();
rippleList.setSharep();
int x= (Integer) SharedPreferencesUtils.getParam(this,"StyleNowColor",);
Log.d(TAG, "setStyleColor: 颜色12:"+x);
appBarLayoutUp.setBackgroundColor(getResources().getColor(R.color.styleColor1));
setStatubar();
break;
case R.id.textView_styleColor2:
rippleList.setColor();
rippleList.setSharep();
setStatubar();
break;
case R.id.textView_styleColor3:
rippleList.setColor();
rippleList.setSharep();
setStatubar();
break;
case R.id.textView_styleColor4:
rippleList.setColor();
rippleList.setSharep();
setStatubar();
break;
case R.id.textView_styleColor5:
rippleList.setColor();
rippleList.setSharep();
setStatubar();
break;
case R.id.textView_styleColor6:
rippleList.setColor();
rippleList.setSharep();
setStatubar();
break;
default:
break;
} } public void setStatubar(int i) {
switch (i) {
/**
* <color name="styleColor1">#1FC4C4</color>
<color name="styleColor2">#71C41F</color>
<color name="styleColor3">#5B0CAA</color>
<color name="styleColor4">#BABA20</color>
<color name="styleColor5">#AA0C5B</color>
<color name="styleColor6">#D43B33</color>
*/
case :
StatusBarUtils.setWindowStatusBarColor(this, "1FC4C4"); break;
case :
StatusBarUtils.setWindowStatusBarColor(this, "#71C41F");
break;
case :
StatusBarUtils.setWindowStatusBarColor(this, "#5B0CAA");
break;
case :
StatusBarUtils.setWindowStatusBarColor(this, "#BABA20");
break;
case :
StatusBarUtils.setWindowStatusBarColor(this, "#AA0C5B");
break;
case :
StatusBarUtils.setWindowStatusBarColor(this, "#D43B33");
break; } } }
import android.content.Context;
import android.content.SharedPreferences;
import android.widget.LinearLayout; import java.util.ArrayList;
import java.util.List; /**
* Created by guoxw on 2017/6/20.
*/ public class RippleList { List<RippleImageView>data=new ArrayList<>();
Context context; public RippleList(List<RippleImageView> data, Context context) {
this.data = data;
this.context = context;
} public void setColor(int i){
if(i==)
{
for (RippleImageView ripp : data) {
ripp.ChangeColor(context.getResources().getColor(R.color.styleColor1));
}
}
if(i==)
{
for (RippleImageView ripp : data) {
ripp.ChangeColor(context.getResources().getColor(R.color.styleColor2));
}
} if(i==)
{
for (RippleImageView ripp : data) {
ripp.ChangeColor(context.getResources().getColor(R.color.styleColor3));
}
}
if(i==)
{
for (RippleImageView ripp : data) {
ripp.ChangeColor(context.getResources().getColor(R.color.styleColor4));
}
}
if(i==)
{
for (RippleImageView ripp : data) {
ripp.ChangeColor(context.getResources().getColor(R.color.styleColor5));
}
}
if(i==)
{
for (RippleImageView ripp : data) {
ripp.ChangeColor(context.getResources().getColor(R.color.styleColor6));
}
}
} public void setSharep(int i){
SharedPreferencesUtils.setParam(context,"StyleNowColor",i);
} public void setLinearLayout(LinearLayout lauout, int i){
switch (i){
case :
lauout.setBackgroundColor(context.getResources().getColor(R.color.styleColor1));
break;
case :
lauout.setBackgroundColor(context.getResources().getColor(R.color.styleColor2));
break;
case :
lauout.setBackgroundColor(context.getResources().getColor(R.color.styleColor3));
break;
case :
lauout.setBackgroundColor(context.getResources().getColor(R.color.styleColor4));
break;
case :
lauout.setBackgroundColor(context.getResources().getColor(R.color.styleColor5));
break;
case :
lauout.setBackgroundColor(context.getResources().getColor(R.color.styleColor6));
break; } } }
import android.content.Context;
import android.content.SharedPreferences; /**
* Created by guoxw on 2017/6/20.
*/ public class SharedPreferencesUtils {
private static String NAME="com.multak.cookaraclient1";
public static void setParam(Context context, String key, int x){
SharedPreferences prefs = context.getSharedPreferences(NAME, Context.MODE_PRIVATE);
SharedPreferences.Editor ed = prefs.edit();
ed.putInt(key, x);
ed.commit(); }
public static int getParam(Context context,String key,int y){
SharedPreferences p=context.getSharedPreferences(NAME,Context.MODE_PRIVATE);
return p.getInt(key,y); } }
<改变imageView的颜色和状态栏>的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- redis的跳跃表
跳跃表是一种插入.查询.删除的平均时间复杂度为O(nlogn)的数据结构,在最差情况下是O(n),当然这几乎很难出现. 和红黑树相比较 最差时间复杂度要差很多,红黑树是O(nlogn),而跳跃表是O( ...
- HTTP报文获取方法
GET:获取资源,可以理解为读取或者下载数据: HEAD:获取资源的元信息: POST:向资源提交数据,相当于写入或上传数据: PUT:类似 POST: DELETE:删除资源: CONNECT:建立 ...
- matlab学习GUI的基本操作
在命令行窗口输入guide 单击确定后出现,可以选择控件来设计,然后可以保存 右击可以查看控件的所有属性 举一个简单的GUI实例---实现数据的传输 添加可编辑文本框 更改字体大小,string默认的 ...
- Javaee 方法的格式和注意事项
1.构造方法的格式是什么?有哪些注意事项? 修饰符+方法名称+(参数列表),构造的方法没有返回值,方法名称要和类名一样,有属性参数的需要在成员变量前加this,参数列表的值要和指定的方法格式相同. ...
- 什么是JSON ?
JSON 实例 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- Nginx+php-fpm 502 504问题
常出现502,504错误 思路: 增大nginx与php-fpm通信时的缓存文件大小与个数 静态绑定5个php-fpm进程,减少频率启动进程的开销 利用sock文件代替tcp端口通信 解决办法: 调整 ...
- Nginx部署静态资源(及root与alias区别)
root目录与alias目录的区别Nginx路径location配置中,使用root目录与alias目录的区别 1)alias指定的目录是准确的,即location匹配访问的path目录下的文件直接是 ...
- [luogu2765 网络流24题] 魔术球问题 (dinic最大流)
传送门 题目描述 «问题描述: 假设有n根柱子,现要按下述规则在这n根柱子中依次放入编号为1,2,3,...的球. (1)每次只能在某根柱子的最上面放球. (2)在同一根柱子中,任何2个相邻球的编号之 ...
- Java工具类使用注意事项
(以下摘自阿里巴巴Java开发手册) 1. [强制]获取单例对象需要保证线程安全,其中的方法也要保证线程安全. 说明:资源驱动类.工具类.单例工厂类都需要注意. 5. [强制]SimpleDateFo ...
- Linux C++服务器端进程SDK
目标:开发人员在这个SDK的基础上开发,不用关注技术细节,只需要开发对应业务消息处理函数即可 1.每个进程SDK包括一个系统服务和多个业务服务,对外发布服务ID,每个服务有一个请求队列和一个反馈队列, ...