android开发中,想实现点击ImageButton切换它的图片。

开发时使用adapter把数据更新到listview。每一个Item都有一个按钮,onClicka时, v.findViewById(R.id.button).setBackgroundDrawable( getResources().getDrawable(R.drawable.picB)); 。
关于切换图片遇到几个问题,望各位大神指点一二。
1.布置XML时,设置android:src="@drawable/picA",这种做法点击没有进行图片切换。
2.布置XML时,不设定背景图片,设置adapter时,holder.botton.setBackgroundDrawable(getResources().getDrawable(R.drawable.picA));这种做法,点击图片切换了。但当讲手机画面往下拉直至这个这个切换的按钮看不见,再出现时,图片有变回了原来的图片。
3.布置XML时,不设定背景图片,设置adapter时,((ImageButton)v).setImageDrawable(getResources().getDrawable(R.drawable.picA));
这种做法,点击图片切换了。但当讲手机画面往下拉直至这个这个切换的按钮看不见,再出现时,变了图片的按钮不是我点击的那个按钮,数目也不对。按钮监听如下:
holder.copyBotton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {

                v.findViewById(R.id.copybutton)
                        .setBackgroundColor(00000000);
                v.findViewById(R.id.copybutton).setBackgroundDrawable(
                        getResources().getDrawable(R.drawable.redheart));

            }
        }); 
suannai0314
鹳狸媛 楼主的这个问题解决了么?下边的答案能解决问题么?如果可以麻烦点击答案旁的√采纳哦~如果没有也可以将自己的答案贴上然后进行采纳的。
大约 6 年之前 回复

3个回答

1:xml中设置src只是设置载入时默认资源,并没扯到切换
2和3都是没加缓存造成的,adapter还有图片,你不加adapter后面会很卡,也会出现这些个别元素"时有时无"的异常情况
getView中样例代码:

ViewHolder holder;
        if(arg1==null){
            holder = new ViewHolder();
            arg1   = layoutinflater.inflate(R.layout.list_item_1, null);
            holder.name     = (TextView) arg1.findViewById(R.id.video_name1);
            holder.icon     = (ImageView) arg1.findViewById(R.id.video_image);
            arg1.setTag(holder);
        }else {
            holder = (ViewHolder) arg1.getTag();
        }

//ViewHolder

private class ViewHolder {
    TextView name;
    ImageView icon;
    }

附ImageButton在非ListView/GridView中使用说明
在xml中给ImageButton设置src属性android:src="@drawable/pl"
在myImageView.setOnClickListener中添加

myImageView.setImageDrawable(getResources().gerDrawable(R.drawable.pl2);

既可实现切换按纽,还有另一种方法:布局好按纽样式,方便以后多次调用

franzhong
franzhong 上getview代码
大约 6 年之前 回复
loveztbdcz
打杂家的 getView中样例代码和我的一样。初学者的我,关于2和3的回答没太明白,怎么加缓存?我试着在xml中给ImageButton设置src属性android:src="@drawable/pl",在myImageView.setOnClickListener中添加了myImageView.setImageDrawable(getResources().gerDrawable(R.drawable.pl2);虽然图片切换了,但是问题和上面第3个一样,希望帮忙解答一下、
大约 6 年之前 回复

要从列表的数据的变动着手,当点击按钮,背景图片发生变化时,把这一条目存储在一个Map对象,缓存起来,并且adapter要 notifyDataSetChanged(); 这样就记录下了已点击的按钮。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Android中点击 ImageButton后状态没有改变
我的问题是,点击ImageButton后图像也不会改变。当我单击,或者触摸按钮,仍然显示相同的图像。这是代码片段: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/pushed" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/pushed" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/pushed" /> <item android:drawable="@drawable/default" /> </selector> 我在main.xml中调用了selector,Imagechoice.xml是selector文件 android:background="@drawable/imagechoice" [1]: http://ask.csdn.net/questions/183/edit
在android开发中,怎么设置我的ImageButton控件的形状
我按照百度上教的,发现没什么效果,这是我控件的代码: <Button android:id="@+id/button" android:layout_width="102dp" android:layout_height="133dp" android:background="@drawable/a" /> <ImageButton android:id="@+id/imbutton" android:layout_width="120dp" android:layout_height="120dp" android:layout_x="165dp" android:layout_y="10dp" android:src="@drawable/a" android:scaleType="fitXY" android:background="#ffffff" android:adjustViewBounds="true" android:padding="0dip" /> 演示图: ![图片说明](https://img-ask.csdn.net/upload/201507/04/1436002698_602835.jpg) 我就想把小熊猫周围的白色边框去掉改对这个控件进行怎样的设置呢????
android imagebutton背景图片设置
gridview的布局xml有3个imagebutton,属性android:src="@drawable/on",(用background背景图片变形了,只能用src),点击后图像重叠并且变形了,怎么办? voice.xml ``` <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:drawable="@drawable/voice_on_unpress" /> <!-- pressed --> <item android:state_pressed="true" android:drawable="@drawable/voice_on_do" /> <!-- default --> <item android:state_pressed="true" android:drawable="@drawable/voice_on_do" /> <!-- default --> <item android:drawable="@drawable/voice_on_unpress" /> </selector> ``` voice_press.xml ``` <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="false" android:drawable="@drawable/voice_on_press" /> <!-- pressed --> <item android:state_pressed="true" android:drawable="@drawable/voice_on_do" /> <!-- default --> <item android:state_pressed="true" android:drawable="@drawable/voice_on_do" /> <!-- default --> <item android:drawable="@drawable/voice_on_press" /> </selector> ``` activity.java中 ``` search_voice.setOnClickListener(new View.OnClickListener() { public void onClick(View arg0) { if(flag){ Toast.makeText(getApplicationContext(), "语音开启",Toast.LENGTH_SHORT).show(); search_voice.setBackgroundResource(R.drawable.vocie_press); flag = false; } else{ Toast.makeText(getApplicationContext(), "语音屏蔽",Toast.LENGTH_SHORT).show(); search_voice.setBackgroundResource(R.drawable.vocie); flag = true; } } }); ```
点击按钮时改变 imagebutton 的图像
我想在程序中设置当点击和释放 imageButton 时,改变它的图像。当再次点击和释放时,图像就会被改回去,如何实现呢? 我试着使用 selector,但是还是没有实现,请大家帮忙。
android布局加载imagebutton问题详细求解
android布局中ImageButton怎么设置图片底色为透明,只保留图片上的画面。
Android中viewpager内部子控件Imagebutton问题
大家好,最近做了一个小项目,用到了viewpager,我没有用最新的fragment来布置每一个页面,而是采用传统的方法,inflater加载了几个view,这样我的事件都集中在了mainactivity中,我在其中一个页面中布置了一个imagebutton,并在mainactivity中对其进行了初始化,然后给他添加了一个onclick方法,在这个方法内部,我想用setImageResource来修改image button的背景,但总是出现空指针,请问这个问题怎么解决呢?
在android中,怎么创建一个透明的ImageButton?
<ImageButton android:id="@+id/previous" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/media_skip_backward" android:background="@drawable/transparent"> </ImageButton> 上边的代码就是我想做一个透明的ImageButton,所以把这些按钮放在了一个SurfaceView上。但是当我将透明线包含在xml中时,eclipse就在项目中给我报错。 请大家帮帮我
Android ImageButton能实现长按,如何同时能实现短按或单击呢?
这是转载别人的博客的:http://blog.csdn.net/manp1212/article/details/7701896 我参考了上面的代码实现了ImageButton的长按事件,但我想用同一个ImageButton同时实现长按和单击,即长按时实现A事件,短按或单击时实现B事件。 我在处理代码了加了判断语句都不能实现。通过延迟的毫秒数进行判断都不能实现,跪求大神。 public class MyRepeatListener implements RepeatListener { public void onRepeat(View v, long duration, int repeatcount) { // * @param v 用户传入的Button对象 // * @param duration 延迟的毫秒数 // * @param repeatcount 重复次数回调 //加入处理代码 } }
"急求" android中 ImageButton 通过点击事件,实现时间menu列表
![图片说明](https://img-ask.csdn.net/upload/201508/24/1440431801_349890.png)![图片说明](https://img-ask.csdn.net/upload/201508/24/1440410248_550875.png) 点击ImgButton 事件,在当前activity 弹出时间列表 。要兼容低版本版本的Demo
如何创建一个透明的 ImageButton?
我想创建一个透明的 ImageButton,把这些按钮都放在一个 SurfaceView 视图中,我在XML中这样设置的代码: <ImageButton android:id="@+id/previous" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/media_skip_backward" android:background="@drawable/transparent"> </ImageButton> 但是这样透明的 ImageButton 没有创建成功,如何实现呀?
.net,在Repeater中动态添加了ImageButton,怎样区分点击和未点击的
.net,在reaper中动态添加了ImageButton,点击时要让被点击的带有红色边框,怎样区分点击和未点击的。这样是获取点击的,那么未点击的怎么办??? protected void ibBrand_Click(object sender, ImageClickEventArgs e) { string argArg = ((ImageButton)sender).CommandArgument; ImageButton im = (ImageButton)sender; }
ImageButton的顶部显示不像Button和EditText那样对齐
在 layout.xml 中设置: <EditText android:id="@+id/body" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:hint="Type to compose" /> <ImageButton android:id="@+id/attach" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/attach_photo" /> <Button android:id="@+id/send" android:text="@string/send" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> 现在遇到的问题是:ImageButton 的顶部显示不像 Button 和 EditText 那样。Button 和EditText 上的内容显示的时候,上下填充的很好。但是,ImageButton 上面的内容似乎向上突出了。如何设置按钮的显示呢?
如何把 ImageButton 的 OnClickListener 事件和 OnTouchListener 事件结合起来
当用户点击 imageButton 时,我想创建一个静态类来实现 OnClickListener 和 OnTouchListener 事件。 static class ClickListenerForScrolling implements OnClickListener, OnTouchListener 有下面的方法: @Override public void onClick(View v) 和 @Override public boolean onTouch(View arg0, MotionEvent arg1) 整体思路是当用户碰触ImageButton时,会改变它的图像资源。当用户点击按钮的时候,会执行一项任务。如何实现?
asp.net 我想在imagebutton上面加一个onclick的属性,能够实现页面跳转
页面上有52个imagebutton,所以我现在实现了遍历以后,能够给所有按钮增加一个onclick跳转页面的属性,但是怎么弄也实现不了这个功能,但是鼠标移上去改变背景图片已经实现了 if(c is ImageButton) { ImageButton btn = (System.Web.UI.WebControls.ImageButton)c; string str = btn.ImageUrl; string str2 = str.Substring(1, str.Length - 1); string aa = str2.Substring(0, 13); string qian = str2.Substring(13, 2); string hou = str2.Substring(16, 2); string jie = aa + hou + "_" + qian + ".png"; string idd = btn.ID; btn.Attributes.Add("onmouseover ", "this.src=" + "'" + jie + "'"); btn.Attributes.Add("onmouseout ", "this.src=" + "'" + str2 + "'"); btn.Attributes.Add("onclick", "javascript:window.navigate('listView2.aspx')");//就是这句代码,没反应啊,无法跳转。。。 }
.NET 我想在后台实现每点击一次button都会在页面生成一个imagebutton
我就想问问第二次点击button的时候第一次生成的imagebutton会消失,这个问题该怎么解决,初学者,JS不是太熟,就想着能不能直接在后台解决。
Android开发listView中的Button点击事件被拦截
根据<http://blog.csdn.net/boylinux/article/details/8860443> 这位大神的帖子,我的代码如下,现在的问题是Listview中的Button和imageview和textview控件点击之后不会响应,而在滑动一下Listview后,之前的点击事件才会响应,导致这个问题的原因不明,但是如果不用HashMap<Integer,View>这个MAP的话,就不会有这个问题,请问大神们这是为什么呢?代码如下: public class MyTwoAdapter extends BaseAdapter { Context context; private List<FollowInfo> data; FollowInfo followInfo; Bitmap bitmap; FinalBitmap finalBitmap; HashMap<Integer,View> lmap = new HashMap<Integer,View>(); private LayoutInflater mInflater=null; public void setData(List<FollowInfo> data) { this.data = data; } public MyTwoAdapter(Context context) { this.context = context; mInflater = LayoutInflater.from(context); finalBitmap = FinalBitmap.create(context);//初始化FinalBitmap模块 finalBitmap.configLoadingImage(R.drawable.ic_launcher); } @Override public int getCount() { return data.size(); } @Override public FollowInfo getItem(int position) { return data.get(position); } @Override public long getItemId(int position) { return position; } @SuppressLint("NewApi") @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder viewHolder = null; if (lmap.get(position)==null) { // if (convertView == null) { convertView = mInflater.inflate(R.layout.mytwo_item, null); viewHolder = new ViewHolder(); viewHolder.user_logo = (ImageView) convertView.findViewById(R.id.user_logo); viewHolder.user_name = (TextView) convertView.findViewById(R.id.user_name); viewHolder.add_time = (TextView) convertView.findViewById(R.id.add_time); viewHolder.iv = (ImageView) convertView.findViewById(R.id.iv); viewHolder.sign1 = (TextView) convertView.findViewById(R.id.sign1); viewHolder.sign2 = (TextView) convertView.findViewById(R.id.sign2); viewHolder.sign3 = (TextView) convertView.findViewById(R.id.sign3); viewHolder.up = (Button) convertView.findViewById(R.id.yes_up); viewHolder.no_up = (Button) convertView.findViewById(R.id.no_up); viewHolder.up_num = (TextView) convertView.findViewById(R.id.up_num); viewHolder.say_sth = (ImageButton) convertView.findViewById(R.id.say_sth); viewHolder.share = (ImageButton) convertView.findViewById(R.id.share); viewHolder.fl = (FrameLayout) convertView.findViewById(R.id.fl); viewHolder.describe = (TextView) convertView.findViewById(R.id.describe); viewHolder.iv.setOnClickListener(clickListener); lmap.put(position, convertView); convertView.setTag(viewHolder); followInfo = data.get(position); LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) viewHolder.fl.getLayoutParams(); layoutParams.width = AndroidUtil.SCREEN_WIDTH; //图片宽度填满屏幕 layoutParams.height = (int) (AndroidUtil.SCREEN_WIDTH * 1.5); viewHolder.fl.setLayoutParams(layoutParams); viewHolder.user_logo.setImageResource(R.drawable.ic_launcher); viewHolder.iv.setImageResource(R.drawable.ic_launcher); viewHolder.user_name.setText(followInfo.getUser_name()); viewHolder.up_num.setText(followInfo.getHot() + ""); viewHolder.add_time.setText(UpdateTime.getUpdateDate(new Date().getTime(), followInfo.getUpload_date(), context)); if (!followInfo.getDescribe().equals("")){ viewHolder.describe.setVisibility(0); viewHolder.describe.setText(followInfo.getDescribe()); } if (followInfo.getLikeStatus() == 1){ viewHolder.up.setVisibility(View.VISIBLE); viewHolder.no_up.setVisibility(View.INVISIBLE); } else { viewHolder.up.setVisibility(View.INVISIBLE); viewHolder.no_up.setVisibility(View.VISIBLE); } if (!followInfo.getCountry3().equals("")){ viewHolder.sign1.setVisibility(View.VISIBLE); viewHolder.sign1.setText("#" + followInfo.getCountry3() + " "); } if (!followInfo.getFashion().equals("")){ viewHolder.sign2.setVisibility(View.VISIBLE); viewHolder.sign2.setText("#" + followInfo.getFashion() + " "); } if (!followInfo.getScene().equals("")){ viewHolder.sign3.setVisibility(View.VISIBLE); viewHolder.sign3.setText("#" + followInfo.getScene() + " "); } //图片设置 final String user_image = followInfo.getImage_id(); finalBitmap.display(viewHolder.iv,AndroidUtil.SERVER_PATH+ //finalBitmap加载图片 "imageLoad/load_image_buff/"+ user_image +"/00/0"); //头像设置图片 final String user_logoUrl = followInfo.getUser_id(); finalBitmap.display(viewHolder.user_logo,AndroidUtil.SERVER_PATH +"imageLoad/load_user_image_buff/" + user_logoUrl); if (followInfo.getTags() != null && followInfo.getTags().size() != 0){ //动态添加标签 for (int i = 0; i < followInfo.getTags().size(); i++){ //TAG数 float tranX; float tranY; View tag_layout; final Tags tag = followInfo.getTags().get(i); if (tag.getPercentX() == null || tag.getPercentX().equals("") || tag.getPercentX().equals("null")){ tranX = Float.parseFloat(tag.getTagX()) / 480 * layoutParams.width; tranY = Float.parseFloat(tag.getTagY()) / 720 * layoutParams.height - AndroidUtil.dip2px(context, 8); } else { tranX = Float.parseFloat(tag.getPercentX()) * layoutParams.width; tranY = Float.parseFloat(tag.getPercentY()) * layoutParams.height - AndroidUtil.dip2px(context, 8); } // Log.e("tranX", tranX + ""); // Log.e("tranY", tranY + ""); //链接图片是否占空间 int brandURLLength = 0; boolean isBrandUrl = false; if (tag.getBrandURL() != null && !tag.getBrandURL().equals("") && !tag.getBrandURL().equals("null")){ isBrandUrl = true; brandURLLength = AndroidUtil.dip2px(context, 25); } //圆点及箭头及文字空白区域的长度和 int pointArrowLength = AndroidUtil.dip2px(context, 35); //文字的长度 int textLength = AndroidUtil.getLineLength(tag.getBrand(), 28); // Log.e("position", position + ""); TextView tag_text; ImageView tag_brand; // 判断左边显示还是右边显示 if (layoutParams.width - tranX >= brandURLLength + pointArrowLength + textLength){ //右边显示 tag_layout = LayoutInflater.from(context).inflate(R.layout.right_tag, null); tag_text = (TextView) tag_layout.findViewById(R.id.tag_text); tag_brand = (ImageView) tag_layout.findViewById(R.id.tag_brand); tag_layout.setTranslationX(tranX); tag_layout.setTranslationY(tranY); } else if (tranX < brandURLLength + pointArrowLength + textLength){ //显示不全 if (tranX * 2 < layoutParams.width){ //右边显示.但显示不全 tag_layout = LayoutInflater.from(context).inflate(R.layout.right_tag, null); tag_text = (TextView) tag_layout.findViewById(R.id.tag_text); tag_text.setWidth((int)(layoutParams.width - tranX - brandURLLength - pointArrowLength + AndroidUtil.dip2px(context, 10))); tag_brand = (ImageView) tag_layout.findViewById(R.id.tag_brand); tag_layout.setTranslationX(tranX); tag_layout.setTranslationY(tranY); } else { //左边显示 不全 tag_layout = LayoutInflater.from(context).inflate(R.layout.left_tag, null); tag_text = (TextView) tag_layout.findViewById(R.id.tag_text); tag_text.setWidth((int)(tranX - brandURLLength - AndroidUtil.dip2px(context, 15))); tag_brand = (ImageView) tag_layout.findViewById(R.id.tag_brand); tag_layout.setTranslationY(tranY); } } else { //左边显示 tag_layout = LayoutInflater.from(context).inflate(R.layout.left_tag, null); tag_text = (TextView) tag_layout.findViewById(R.id.tag_text); tag_brand = (ImageView) tag_layout.findViewById(R.id.tag_brand); tag_layout.setTranslationX(tranX - AndroidUtil.dip2px(context, 25) - textLength - brandURLLength); tag_layout.setTranslationY(tranY); } tag_text.setText(tag.getBrand()); if (isBrandUrl){ tag_brand.setVisibility(View.VISIBLE); } viewHolder.fl.addView(tag_layout); tag_text.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { Intent intent = new Intent(context, SearchResultActivity.class); ArrayList<String> list = new ArrayList<String>(); list.add(tag.getBrand()); intent.putExtra("sign_cont", list); intent.putExtra("from_flag", "&brand="); context.startActivity(intent); } }); tag_brand.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (tag.getBrandURL() != null && !tag.getBrandURL().equals("")){ Uri uri = Uri.parse(tag.getBrandURL()); Intent intent = new Intent(); intent.setData(uri); intent.setAction(Intent.ACTION_VIEW); try{ context.startActivity(intent); } catch (Exception e){ Toast toast = Toast.makeText(context, context.getResources().getString(R.string.err_uri), Toast.LENGTH_SHORT); toast.setGravity(Gravity.CENTER, 0, 300); toast.show(); } } } }); } } addListener(convertView, followInfo, followInfo.getImage_id(), position); } else { convertView = lmap.get(position); viewHolder = (ViewHolder) convertView.getTag(); } return convertView; } public class ViewHolder{ ImageView user_logo; TextView user_name; TextView add_time; ImageView iv; TextView sign1; TextView sign2; TextView sign3; Button up; Button no_up; TextView up_num; ImageButton say_sth; ImageButton share; FrameLayout fl; TextView describe; } public void addListener(final View convertView,final FollowInfo followInfo, final String image_uri, final int position) { final Button no_up = (Button) convertView.findViewById(R.id.no_up); final Button yes_up = (Button) convertView.findViewById(R.id.yes_up); final TextView up_num = (TextView) convertView.findViewById(R.id.up_num); final ImageButton share = (ImageButton) convertView.findViewById(R.id.share); final TextView sign1 = (TextView) convertView.findViewById(R.id.sign1); final TextView sign2 = (TextView) convertView.findViewById(R.id.sign2); final TextView sign3 = (TextView) convertView.findViewById(R.id.sign3); final ImageButton say_sth = (ImageButton) convertView.findViewById(R.id.say_sth); final ImageView user_logo = (ImageView) convertView.findViewById(R.id.user_logo); final TextView user_name = (TextView) convertView.findViewById(R.id.user_name); no_up.setOnClickListener(new OnClickListener() { public void onClick(View v) { no_up.setVisibility(View.INVISIBLE); yes_up.setVisibility(View.VISIBLE); up_num.setText(Integer.parseInt(up_num.getText().toString()) + 1 + ""); new AsyncUpLoad(followInfo.getImage_id(), followInfo.getUser_id()); } }); yes_up.setOnClickListener(new OnClickListener() { public void onClick(View v) { no_up.setVisibility(View.VISIBLE); yes_up.setVisibility(View.INVISIBLE); up_num.setText(Integer.parseInt(up_num.getText().toString()) - 1 + ""); new AsyncUpLoad(followInfo.getImage_id(), followInfo.getUser_id()); } }); }
如何创建一个 transparent ImageButton?
我想创建一个transparent ImageButton,把这些按钮放在一个 SurfaceView中。但是当我把代码放在xml中,Eclipse返回错误。我不知道如何处理这个错误,感谢大家帮我指点迷津。 <ImageButton android:id="@+id/previous" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/media_skip_backward" android:background="@drawable/transparent"> </ImageButton>
如何在自己的按钮上运用 android ImageButton 样式?
我创建了一个自己的按钮,继承 android 的 RelativeLayout。但是我如何在自己创建的这个按钮上运用 android 按钮样式呢? 比如在这个按钮上设置背景绘图,填充。
Android的include中,怎么获取不同include中的相同布局中的控件id
比如,我的layout.xml中只有一个ImageButton 在另一个tablelayout.xml中通过include调用layout。xml 但是我想在activity中获取不同include中的imageButton的ID
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
spring源码阅读环境(几分钟下载包)
南南南南啊!简述:1.下载spring源码:2.安装gradle:3.构建源码:导入idea: 简述: 不能忍受慢(看到这里你就准备笑吧!!) 其他大神的博客实在让我难受 自己动手,下载spring,编译spring源码,导入idea,开启学习模式!! 笔者环境:java1.8.0_181,gradle 5.6.3,idea2019.2.4 1.下载spring源码: github地址:htt...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
Python3.7黑帽编程——病毒篇(基础篇)
引子 Hacker(黑客),往往被人们理解为只会用非法手段来破坏网络安全的计算机高手。但是,黑客其实不是这样的,真正的“网络破坏者”是和黑客名称和读音相似的骇客。 骇客,是用黑客手段进行非法操作并为己取得利益的人。黑客,是用黑客手段为国家或单位做事的人。 那么,既然黑客不是一个很坏的职业,我们就可以去试着学习。 黑客本身的初衷 ——黑客其实一直是善良的。 骇客其实他的前身就是黑客。 骇客与黑客分家
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
致 Python 初学者们!
作者 | 许向武 责编 | 屠敏 出品 | CSDN 博客 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 Python 这门编程语言,从2009年开始单一使用 Python 应对所有的开发工作,直至今
腾讯架构师,为了家庭去小厂,一个月后主动离职:不做中台就是等死
今天咱们第一课,来讲讲大家一直很关注的数据中台。其实,数据中台也是企业数据管理的一部分,甚至可以说是很重要的一部分。 一、什么是中台? 这其实是一个老生常谈的概念了,中台,顾名思义,就是在起中间作用的东西,前有前台,后有后台。 对于中台每个人可能有不同的理解,行业里也没有严格的定义,但我更认同其中一个说法就是:中台是企业级能力复用的平台。   那这句话怎么理解呢? 既然核心是能力复
iOS Bug 太多,苹果终于坐不住了!
开源的 Android 和闭源的 iOS,作为用户的你,更偏向哪一个呢? 整理 | 屠敏 出品 | CSDN(ID:CSDNnews) 毋庸置疑,当前移动设备操作系统市场中,Android 和 iOS 作为两大阵营,在相互竞争的同时不断演进。不过一直以来,开源的 Android 吸引了无数的手机厂商涌入其中,为其生态带来了百花齐放的盛景,但和神秘且闭源的 iOS 系统相比,不少网友
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
(经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
今年正式步入了大四,离毕业也只剩半年多的时间,回想一下大学四年,感觉自己走了不少弯路,今天就来分享一下自己大学的学习经历,也希望其他人能不要走我走错的路。 (一)初进校园 刚进入大学的时候自己完全就相信了高中老师的话:“进入大学你们就轻松了”。因此在大一的时候自己学习的激情早就被抛地一干二净,每天不是在寝室里玩游戏就是出门游玩,不过好在自己大学时买的第一台笔记本性能并不是很好,也没让我彻底沉...
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
【金三银四-JVM系列】CMS收集器与GC日志分析定位问题详解
开头: 今天2B哥要和大家分享一篇硬货,为什么呀?因为有两个好事情: 一、哥升级了LV2了 哈哈心情倍爽。 二、拿到了公司给的2千股 在公司呆了2年了,终于成为了东哥的好兄弟。 CMS收集器实战: 实战开始,准备好了没 构建Spring Boot项目: 模拟业务场景代码: @RestController public class IndexController { /*** * 存bi...
拿下微软、Google、Adobe,印度为何盛产科技圈 CEO?
作者 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 世界500强中,30%的掌舵人,都是印度人。 是的,你没看错。这是近日《哈佛商业评论》的研究结果。 其中又以微软CEO萨提亚·纳德拉(Satya Nadella)、和谷歌CEO桑达尔·皮查伊(Sundar Pichai,以下简称劈柴)最为出名。 微软CEO萨提亚·纳德拉(Satya Nadella) 其他著名印度...
[数据结构与算法] 邂逅栈
栈 在邂逅了完线性结构的数组和队列后, 我们便偶遇了栈这个东东, 他到底是个啥? 就让我们慢慢揭开它的神秘面纱吧~~~ 需求介绍 栈的介绍 栈的英文为(stack) 栈是一个先入后出(FILO-First In Last Out)的有序列表。 栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top),另一...
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
普通三本毕业,我怎么一路艰辛进入阿里的
英雄不问出处? 自古以来就有这样一句话,真的英雄不问出处吗?这句话太挫了。普通三本院校的我,大四的时候居然都不知道什么是校招,所以出处太重要了。这也是没有机会参加阿里校招的原因,毕竟校招门槛比社招还是要低的,最重要的是校招进入阿里能让你的起点比别人更高。 有幸可以社招进入阿里,了解了校招的思路,赶紧介绍给学弟们,现在我们三本院校的小学弟今年居然有 3 个人通过了阿里的校招。下面我也把这份宝贵的经...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
@程序员,如何花式构建线程?
作者 |曾建责编 | 郭芮出品 | CSDN(ID:CSDNnews)在项目和业务的开发中,我们难免要经常使用线程来进行业务处理,使用线程可以保证我们的业务在相互处理之间可以保证原子性...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
22种编程语言新年快乐
请允许我用22种编程语言,祝大家新年快乐 C语言:printf(“祝大家新年快乐”); C++ : cout&lt;&lt;“祝大家新年快乐”; OC: NSLog(@“祝大家新年快乐”) QBasic : Print “祝大家新年快乐” Asp : Response.Write “祝大家新年快乐” PHP : echo “祝大家新年快乐”; JScript: alert(“祝大家新年快乐”) V...
强烈推荐10本程序员在家读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
新型冠状病毒全国疫情接口Api
返回json示例 { "errcode":0,//0标识接口正常 "data":{ "date":"2020-01-30 07:47:23",//实时更新时间 "diagnosed":7736,//确诊人数 "suspect":12167,//疑是病例人数 "death":170,//死亡人数 "cur...
Python入门_给小白的学习指南
python是当下很热门的语言,我在入门python时花的时间特别长,一方面是自学,另一方面是这个东西对新人很不友好。因此,我写下这篇文章,希望能对想从零开始学python的同学有一些帮助。 首先给大家分享一些学Python的网站: https://m.runoob.com/python3/python3-tutorial.html 简单讲讲,Python有两个版本,Python2和Python...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药...
相关热词 c# 为空 判断 委托 c#记事本颜色 c# 系统默认声音 js中调用c#方法参数 c#引入dll文件报错 c#根据名称实例化 c#从邮件服务器获取邮件 c# 保存文件夹 c#代码打包引用 c# 压缩效率
立即提问