DatePickerDialog中为什么点击屏幕外不消失?

final Calendar objTime = Calendar.getInstance();
int iYear = objTime.get(Calendar.YEAR);
int iMonth = objTime.get(Calendar.MONTH);
int iDay = objTime.get(Calendar.DAY_OF_MONTH);

    DatePickerDialog datePickerDialog = new DatePickerDialog(QueryDateActivity.this, DatePickerListener, iYear, iMonth, iDay);
    datePickerDialog.setCanceledOnTouchOutside(true);
    datePickerDialog.show();

            我已经设置为true了 可是还是不消失为什么?
            /**下面是原代码
            */
               final DatePickerDialog mDialog_start = new DatePickerDialog(this, null,
                    con_year_start, con_month_start, con_day_start);
            //手动设置按钮
            mDialog_start.setButton(DialogInterface.BUTTON_POSITIVE, "完成", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    //通过mDialog.getDatePicker()获得dialog上的DatePicker组件,然后可以获取日期信息
                    DatePicker datePicker = mDialog_start.getDatePicker();
                    int year = datePicker.getYear();
                    int month = datePicker.getMonth();
                    int day = datePicker.getDayOfMonth();
                    tv_start.setText(year+"/"+months[month]+"/"+day);
                    con_year_start = year;
                    con_month_start = month;
                    con_day_start = day;
                }
            });
            //取消按钮,如果不需要直接不设置即可
            mDialog_start.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    mDialog_start.dismiss();
                }
            });
            mDialog_start.setTitle("请选择开始时间");
            mDialog_start.setCanceledOnTouchOutside(true);
            mDialog_start.show();

2个回答

你不是设置了取消吗 干嘛要有强迫症 再说 用户也会按回退

ljz0826
大州神 被你说中了,就是有强迫症。
接近 4 年之前 回复

把setCancelable()也设置一下,另外看一下是不是重写了ondispatchevent()或者onTouchEvent之类的方法。

ljz0826
大州神 setCancelable之前也试过了,事件分发没有使用,先不管了,就这样吧。
接近 4 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
DatePickerDialog 显示方式是MMDDYYYY ,如何改成YYYYMMDD
DatePickerDialog 显示方式是MMDDYYYY ,如何改成YYYYMMDD
DatePickerDialog中的无法响应onDateSet方法
安卓5.0 sdk21 DatePickerDialog.OnDateSetListener()中的onDateSet无法响应,4.0就可以! 急,求助!!!!!!!!
Datepickerdialog 设置日期,想隐藏日历该怎么办
用Datepickerdialog来设置日期控件,不是自定义.想把右边的日历给隐藏了,该怎么实现?
关于DatePickerDialog的问题
public class MainActivity extends Activity { private TimePicker timePicker; private DatePicker datePicker; private Calendar cal; private int year; private int month; private int day; private int hour; private int minute; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //获取日历的一个对象 cal=Calendar.getInstance(); //获取年与日时分秒的信息 year=cal.get(Calendar.YEAR); month=cal.get(Calendar.MONTH)+1; day=cal.get(Calendar.DAY_OF_MONTH); hour=cal.get(Calendar.HOUR_OF_DAY); minute=cal.get(Calendar.MINUTE); setTitle(year+"-"+month+"-"+day+"-"+hour+":"+minute); datePicker=(DatePicker) findViewById(R.id.datePicker); timePicker=(TimePicker) findViewById(R.id.timePicker); //datePicker初始化 datePicker.init(year,month,day,new OnDateChangedListener(){ @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth); } }); timePicker.setOnTimeChangedListener(new OnTimeChangedListener() { public void onTimeChanged(TimePicker view, int hourOfDay, int minute) { // TODO Auto-generated method stub setTitle(hourOfDay+":"+minute); } }); new DatePickerDialog(this, new OnDateChangedListener(){ @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth); } }, year, cal.get(Calendar.MONTH), day).show(); } } 在这串代码中显示: new DatePickerDialog(this, new OnDateChangedListener(){ @Override public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth); } }, year, cal.get(Calendar.MONTH), day).show(); } 这一段the constructor DatePickerDialog(MainActivity, new DatePicker.OnDateChangedListener(){}, int, int, int) is undefined
android DatePickerDialog 超过某个时间 禁用确定按钮(灰色)
怎么才能在DatePickerDialog 来禁用 确定按钮(默认)
Android的DatePickerDialog的使用报错
使用了一个弹窗的日期选择器,可是设置参数的时候老报错,说没有相应的构造函数。但我明明就是按照需要的参数写的 ``` package com.example.love; import java.util.Calendar; import java.util.Date; import android.app.Activity; import android.app.ActionBar; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener; import android.app.Fragment; import android.os.Bundle; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.DatePicker; import android.widget.ImageButton; import android.os.Build; public class MainActivity extends Activity { private ImageButton ib;//图标按钮 private Date nowtime;//当前时间 private Date time;//在一起的时间 private int nowyear;//当前的年份 private int year;//在一起的年份 private int nowmouth;//当前的月份 private int mouth;//在一起的月份 private int nowday;//当前的日期 private int day;//在一起的日期 private int hour;//现在的小时 private int muinet;//现在的分钟 private int ss;//现在的秒 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main1); //获取当前的时间 Calendar date = Calendar.getInstance(); nowyear = date.get(date.YEAR); nowmouth = date.get(date.MONTH); nowday = date.get(date.DAY_OF_MONTH); ib = (ImageButton) findViewById(R.id.imageButton); ib.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { new DatePickerDialog(this, new OnDateSetListener() { @Override public void onDateSet(DatePicker arg0, int arg1, int arg2, int arg3) { // TODO 自动生成的方法存根 } }, nowyear, nowmouth, nowday).show(); }); } } ```
如何阻止用户在 datepicker 中选择过去的日期?
我在程序中使用 datepicker 对话框。当用户从Dialog中选择任何日期时,我不想让用户选出 已经过了的日期。代码如下: private DatePickerDialog.OnDateSetListener mdateSetListener = new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int yr, int monthOfYear, int dayOfMonth) { year = yr; month = monthOfYear; day = dayOfMonth; updateDate(); } }; 更新日期,给EditText设置选择日期。有什么library方法能阻止选择过去的日期呢?
datePickerDialog 在高版本上可以选中当天,低版本上无法选中当天
高版本为8.0和9.0,低版本为5.1 代码如下 ![图片说明](https://img-ask.csdn.net/upload/201904/08/1554714168_220413.jpg) 在高版本手机上是可以点击选中当天的,但是低版本就不行。 低版本初始打开弹框时默认选中当天,但是当我先点击其他日期后再选择当天就点不了了,这个问题要怎么解决?
点击 Javascript 中的按钮显示 DatePicker
我想加载一个 html 文件到 WebView,在 html文件上有一个按钮来选择日期。当我点击按钮时,我想打开日期选择器对话框。再选择日期后,我想在html文件中显示选择的日期。如何实现? HTML : <input type="button" value="Select Date" onClick="openDatePickerDialog()" /> <p id = "date">--</p> Javascript : function openDatePickerDialog() { AndroidFunction.openDatePickerDialog(); } function callFromActivity(date) { document.getElementById('date').innerHTML = date; } My Activity : public class MainActivity extends Activity { WebView myBrowser; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); myBrowser = (WebView)findViewById(R.id.mybrowser); final MyJavaScriptInterface myJavaScriptInterface = new MyJavaScriptInterface(this); myBrowser.addJavascriptInterface(myJavaScriptInterface, "AndroidFunction"); myBrowser.getSettings().setJavaScriptEnabled(true); myBrowser.loadUrl("file:///android_asset/test.html"); } public class MyJavaScriptInterface { private int mYear; private int mMonth; private int mDay; static final int DATE_DIALOG_ID = 0; Context mContext; MyJavaScriptInterface(Context c) { mContext = c; } public void openDatePickerDialog() { Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); //updateDisplay(); showDialog(DATE_DIALOG_ID); } private void updateDisplay() { String date = new StringBuilder().append(mMonth + 1).append("-") .append(mDay).append("-") .append(mYear).append(" ").toString(); Toast.makeText(getApplicationContext(), date, Toast.LENGTH_LONG).show(); myBrowser.loadUrl("javascript:callFromActivity(\""+date+"\")"); } private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear = year; mMonth = monthOfYear; mDay = dayOfMonth; updateDisplay(); } }; protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: return new DatePickerDialog(MainActivity.this, mDateSetListener, mYear, mMonth, mDay); } return null; } } }
DatePickerDialog只显示年月隐藏日,在小米手机上会空指针异常,求解答
((ViewGroup) ((ViewGroup) this.getDatePicker().getChildAt(0)) .getChildAt(0)).getChildAt(2).setVisibility(View.GONE);
想要再EditText上保存一个整数,然后保存到SQLite上去计算
<TableRow> <Button android:id="@+id/Date1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Date1" android:onClick="Date1" /> <EditText android:id="@+id/SetDate1" android:layout_width="160dp" android:layout_height="wrap_content" android:hint="@string/EditText" /> </TableRow> 这是我想要实现数据的XML文件。所以到目前为止,我创建了一个对话框来选择数据,然后返回数据给EditText。 在哪,我想要再SQLite中保存数据,这样我就能用第二个数据来显示用户选择的两个数据之间的差异。 @Override protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: return new DatePickerDialog( this, mDateSetListener, yr, month, day); case DATE_DIALOG_ID2: return new DatePickerDialog( this, mDateSetListener2, yr2, month2, day2); } return null; } private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { public void onDateSet( DatePicker view, int year, int monthOfYear, int dayOfMonth) { yr = year; month = monthOfYear+1; day = dayOfMonth; db.open(); @SuppressWarnings("unused") long id = db.insertContact(month, day, yr); db.close(); textBox.setText(yr + "/" + month + "/" + day); } }; 我只是还没有上传第二个对话框来选择数据,因为这只是重复。在我把数据放到SQLite中或者是不管怎么样把它存上,我想要加、乘一个值给它然后在返回这个值给另外一个EditText。同时,有什么方式能让我的Date Button EditText是不可编辑状态,除非你点击button来改变EditText的内容,有这个方法么? 多些您能看完问题,如果有所帮助,我会非常感激的。
如何访问 Dialog 的 positive 和 negative 按钮?
我想访问Dialog中的positive 和 negative 按钮,我想限制dialog中的多重时间的可见性,所以我需要访问这些按钮。请问如何能访问? Dialog mDialog = new DatePickerDialog(IncomeActivity.this, mDatesetListener, calender.get(Calendar.YEAR), calender.get(Calendar.MONTH), calender .get(Calendar.DAY_OF_MONTH)); mDialog.show(); 我使用的下面的代码,也不能实现。 mDialog.setOnCancelListener(new OnCancelListener() { public void onCancel(DialogInterface arg0) { isDateClicked = false; } }); `isDateClicked` 是一个 boolean 值,在打开 mDalog 之前我设置的 true 值,现在当关闭 dialog 时,我想设置成 false。如何访问 Dialog 的 positive 和 negative 按钮?
使用datepicker设置日期后为什么隐藏editetext的光标?
在editetext中使用datepicker设置日期后,光标就不显示了。我想实现的是设置完日期,光标就会移动到下一个edittext。 设置日期的代码: EditText when; static final int DATE_DIALOG_ID = 0; private int mYear; private int mMonth; private int mDay; //in oncreate when = (EditText) findViewById(R.id.etDate); final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); when.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub showDialog(DATE_DIALOG_ID); return false; } }); //outside oncreate @Override protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); } return null; } // updates the date in the EditText private void updateDisplay() { when.setText(new StringBuilder() // Month is 0 based so add 1 .append(mDay).append("-").append(mMonth + 1).append("-").append(mYear)); } // the callback received when the user "sets" the date in the dialog private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear = year; mMonth = monthOfYear; mDay = dayOfMonth; updateDisplay(); } };
数据库中检索日期出现的错误
我用下面的代码创建`DatePickerDialog`,我想在数据库中检索用户的出生日期,当我打开`dateDialog`时,应该是用户的出生日期。现在的日期不对,应该是9月份,结果出来是10月份。这是什么原因造成的,如何改代码啊? @Override protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay); } return null; } @Override protected void onPrepareDialog(int id, Dialog dialog) { switch (id) { case DATE_DIALOG_ID: ((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay); break; } } private void updateDisplay() { dateText.setText( new StringBuilder() // Month is 0 based so add 1 .append(mMonth +1).append("/") .append(mDay).append("/") .append(mYear).append(" ")); } DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { mYear = year; mMonth = monthOfYear; mDay = dayOfMonth; dob1 = (monthOfYear + "/" + dayOfMonth + "/" + year); if(maxYear - mYear <= 12){ alertMessage = "User must be above age of 12."; dialogBox(); year = mYear; } else{ updateDisplay(); } } };
oncreateDialog时报了空指针异常,求大神指导一下,我也找不到原因所在
报这个异常,我也搜了相关资料,很多人代码里最后default也返回null,为什么我报错呀?求大神知道,代码在最下面 java.lang.NullPointerException at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2378) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2430) at android.app.ActivityThread.access$600(ActivityThread.java:166) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1374) at android.os.Handler.dispatchMessage(Handler.java:107) at android.os.Looper.loop(Looper.java:194) at android.app.ActivityThread.main(ActivityThread.java:5400) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:525) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:853) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:620) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.NullPointerException at com.netschool.mock.MockListActivity.onCreateDialog(Unknown Source) at android.app.Activity.onCreateDialog(Activity.java:3089) at android.app.Activity.createDialog(Activity.java:1072) at android.app.Activity.restoreManagedDialogs(Activity.java:1061) at android.app.Activity.performRestoreInstanceState(Activity.java:1007) at android.app.Instrumentation.callActivityOnRestoreInstanceState(Instrumentation.java:1202) at com.lbe.security.service.core.client.internal.InstrumentationDelegate.callActivityOnRestoreInstanceState(InstrumentationDelegate.java:130) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2356) ... 11 more 代码 ``` @Override protected Dialog onCreateDialog(int id) { m_pickerDialog = null; switch (id) { case 0: m_pickerDialog = new DatePickerDialog_WithoutDate(this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { Message msg = Message.obtain(); msg.arg1 = year; msg.arg2 = monthOfYear + 1; msg.what = MsgWhat.MSG_ANSW_RECO_ACTI_15; m_handlerPostExecute.sendMessage(msg); } }, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)); break; } m_pickerDialog.setTitle(calendar.get(Calendar.YEAR) + " 年 " + (calendar.get(Calendar.MONTH) + 1) + " 月"); return m_pickerDialog; } ```
android中继承Dialog出现的问题
<p>我继承了一个Dialog</p> <pre name="code" class="java">public class Dialog_query extends Dialog implements OnClickListener { }</pre> <p> 通过xml定义了一个界面,</p> <p><img src="/upload/attachment/124103/06d1202d-f2c1-3b93-9776-375ac2b89f09.jpg" alt="" width="296" height="63"></p> <p> </p> <p>现在想通过点击日期1来选择日期,代码如下</p> <p>暂记为:“代码button”</p> <p> </p> <pre name="code" class="java">Button btn=(Button)findViewById(R.id.BtnDate); btn.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { new DatePickerDialog(Dialog_query.this, d2, dateAndTime.get(Calendar.YEAR), dateAndTime.get(Calendar.MONTH), dateAndTime.get(Calendar.DAY_OF_MONTH) ).show(); } });</pre> <p> </p> <p>现在遇到的问题是,提示“The constructor DatePickerDialog(Dialog_query, DatePickerDialog.OnDateSetListener, int, int, int) is undefined”</p> <p> </p> <p>后来发觉在这里添加Toast.makeText(LoginSuccess.this, "关于 敏捷软件 1.0", Toast.LENGTH_LONG).show();</p> <p> </p> <p>也会提示“The method makeText(Context, CharSequence, int) in the type Toast is not  applicable for the arguments (Dialog_query, String, int)”</p> <p> </p> <p>但是“代码button”在Activity的情况下是正确的。</p> <p> </p> <p>为什么在继承的情况下会提示这样的错误呢?</p> <p>是不是因为继承,所以执行DatePickerDialog或是makeText,要添加其他的关键字呢?</p> <p> </p> <p>盼回复,谢谢。</p>
求大神帮忙解读,加点注释~谢谢
package com.hanway.oa.activity; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Locale; import java.util.Map; import org.json.JSONArray; import org.json.JSONObject; import com.hanway.oa.R; import com.hanway.oa.common.Constant; import com.hanway.oa.common.Session; import com.hanway.oa.http.HttpManager; import com.hanway.oa.util.DialogUtil; import android.app.Activity; import android.app.DatePickerDialog; import android.app.ProgressDialog; import android.app.DatePickerDialog.OnDateSetListener; import android.os.Bundle; import android.os.Handler; import android.os.Handler.Callback; import android.os.Message; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.Adapter; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter; import android.widget.DatePicker; import android.widget.EditText; import android.widget.ListView; import android.widget.SimpleAdapter; import android.widget.Spinner; import android.widget.Toast; public class MoneyActivity extends Activity implements OnClickListener,Callback,OnItemClickListener { private View backBtn; Handler handler = null; HttpManager httpManager = null; private EditText dateEdit; private ListView moneyList; List<Map<String, Object>> data = new ArrayList<Map<String, Object>>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.moneyactivity); handler = new Handler(this); httpManager = new HttpManager(handler); backBtn = findViewById(R.id.backButton1); backBtn.setOnClickListener(this); dateEdit = (EditText)findViewById(R.id.date); dateEdit.setKeyListener(null); dateEdit.setOnClickListener(this); handler = new Handler(this); httpManager = new HttpManager(handler); Calendar cd = Calendar.getInstance(Locale.CHINA); int year1 = cd.get(Calendar.YEAR); int month1 = cd.get(Calendar.MONTH)+1; getList(year1+"", month1+""); } private void getList(String year,String month) { String sid = Session.sid; String uri = Constant.BASE_URL + "Salary/sreach?sid="+sid+"&Year="+year+"&Month="+month; try { Message msg = new Message(); msg.what = 0; httpManager.getRequest(uri, msg); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public void onClick(View v) { // TODO Auto-generated method stub if (v == backBtn){ finish(); } if (v == dateEdit) { final Calendar cd = Calendar.getInstance(Locale.CHINA); final int mYear = cd.get(Calendar.YEAR); final int month = cd.get(Calendar.MONTH); final int day = cd.get(Calendar.DAY_OF_MONTH); Date date = new Date(); cd.setTime(date); DatePickerDialog mDialog = new DatePickerDialog(MoneyActivity.this, new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { // TODO Auto-generated method stub if (year > mYear || year < mYear-1) { Toast.makeText(MoneyActivity.this, "只能查看"+mYear+"年或者"+(mYear - 1)+"年数据", 0).show(); return; } int month = monthOfYear + 1; dateEdit.setText(year + "-" + month); //这里下载数据 getList(year+"", month+""); } }, mYear, month, day ); mDialog.show(); DatePicker dp = findDatePicker((ViewGroup)mDialog.getWindow().getDecorView()); if (dp!= null) { ((ViewGroup)((ViewGroup) dp.getChildAt(0)).getChildAt(0)).getChildAt(1).setVisibility(View.GONE); } } } private DatePicker findDatePicker(ViewGroup group) { if (group != null) { for (int i = 0, j = group.getChildCount(); i < j; i++) { View child = group.getChildAt(i); if (child instanceof DatePicker) { return (DatePicker) child; } else if (child instanceof ViewGroup) { DatePicker result = findDatePicker((ViewGroup) child); if (result != null) return result; } } } return null; } @Override public boolean handleMessage(Message msg) { switch (msg.what) { case 0: try { String result = (String)msg.obj; JSONObject jsonObject = new JSONObject(result); if (jsonObject.getString("error_code").equals("1")) { DialogUtil.showDialog(this, jsonObject.getString("msg"), false); return false; } JSONObject object = jsonObject.getJSONObject("data"); JSONArray array = object.getJSONArray("list"); if (array != null && array.length() > 0) { for (int i = 0;i < array.length();i++) { object = array.getJSONObject(i); Map<String, Object> map = new HashMap<String, Object>(); //String pkId = object.getString("PkId"); String meayType = object.getString("Type"); String moneyNum = object.getString("value"); //map.put("pkId", pkId); map.put("money_type", meayType); map.put("money_num", moneyNum); data.add(map); } } moneyList = (ListView)findViewById(R.id.moneyList); SimpleAdapter adapter = new SimpleAdapter(MoneyActivity.this, data, R.layout.money_items, new String[] { "money_type", "money_num" }, new int[] { R.id.moneyType, R.id.money }); moneyList.setAdapter(adapter); } catch (Exception e) { // TODO: handle exception DialogUtil.showDialog(this, "网络异常,加载数据失败,请联系管理员", false); } break; default: break; } return false; } @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub } }
关于安卓SQLite的问题
小弟在学习的时候,遇到了一些困难,求大神解答! 这是我遇到的困难: ![图片说明](https://img-ask.csdn.net/upload/201604/22/1461297766_875427.jpg) 我写的代码: 其中一个是AddDAO接口: package com.AA.database; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class AddDAO { SQLiteDatabase db; public AddDAO(Context c){ db = new DBHelper(c).getWritableDatabase(); } public void add(ContentValues cv) { db.insert(DBConstants2.add.TABLE_NAME, null, cv); } public void update(long id, ContentValues cv) { db.update(DBConstants2.add.TABLE_NAME, cv, "_id = ?", new String[] { String.valueOf(id) }); } public void del(long id) { db.delete(DBConstants2.add.TABLE_NAME, "_id = ?", new String[] { String.valueOf(id) }); } public Cursor queryAll() { return db.rawQuery("select * from add", null); } public Cursor queryAllByType(int type) { return db.rawQuery("select * from add where type = ?", new String[] { String.valueOf(type) }); } public Cursor queryAllDetail(String start, String end) { return db.rawQuery("select * from add where [date] >= ? and [date] <= ?", new String[] { start, end }); } public Cursor queryForTypeAll(String start, String end, int type) { return db.rawQuery("select sum(time) from add where [date] >= ? and [date] <= ? and type =?", new String[] { start, end, String.valueOf(type) }); } public Cursor queryAllDay(String date) { return db.rawQuery("select * from add where [date] = ? ", new String[] { date }); } public Cursor queryAllDayByType(String date, int type) { return db.rawQuery("select * from add where [date] = ? and type = ?", new String[] { date, String.valueOf(type) }); } public Cursor queryAllForKind(String start, String end, int type) { return db.rawQuery("select * from add where [date] >= ? and [date] <= ? and type =? group by kind", new String[] { start, end, String.valueOf(type) }); } } 还有一个是OtherdataDAO2: package com.AA.database; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; public class OtherdataDAO2 { SQLiteDatabase db; public OtherdataDAO2(Context c) { db = new DBHelper(c).getWritableDatabase(); } public void add(ContentValues cv) { db.insert(DBConstants2.ActionList.TABLE_NAME, null, cv); } public void update(long id, ContentValues cv) { db.update(DBConstants2.ActionList.TABLE_NAME, cv, "_id = ?", new String[]{String.valueOf(id)}); } public void del(long id) { db.delete(DBConstants2.ActionList.TABLE_NAME, "_id = ?", new String[]{String.valueOf(id)}); } public Cursor queryAll(int type) { return db.rawQuery("select * from ActionList where type = ?", new String[]{String.valueOf(type)}); } public Cursor queryById(long id) { return db.rawQuery("select * from ActionList where _id = ?", new String[]{String.valueOf(id)}); } public String queryForFirst(int type) { Cursor cursor = db.rawQuery("select * from ActionList where type = ? limit 0,1", new String[]{String.valueOf(type)}); if(cursor.moveToNext()) { return cursor.getString(cursor.getColumnIndex(DBConstants2.ActionList.NAME)); } return "其他"; } } 然后RecordActivity2: package com.AA.record; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import com.AA.database.ActionListDAO; import com.AA.database.AddDAO; import com.AA.database.DBConstants2; import com.AA.database.OtherdataDAO2; import com.AA.f1.R; import com.AA.otherdata.OtherdataListActivity2; import android.annotation.SuppressLint; import android.app.Activity; import android.app.DatePickerDialog; import android.app.DatePickerDialog.OnDateSetListener; import android.content.ContentValues; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.DatePicker; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class RecordActivity2 extends Activity { TextView tv03,tv05,tv07,tv09,tv11,tv13; EditText et01,et02; ActionListDAO aldao; AddDAO adao; OtherdataDAO2 oddao2; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.activity_record); init(); initData(); } //初始化函数 private void init() { tv03 = (TextView) findViewById(R.id.tv03);//运动类型选项 tv05 = (TextView) findViewById(R.id.tv05);//锻炼部位选项 tv07 = (TextView) findViewById(R.id.tv07);//锻炼内容选项 tv09= (TextView) findViewById(R.id.tv09);//项目次数选项 tv11 = (TextView) findViewById(R.id.tv11);//力量级别选项 tv13 = (TextView) findViewById(R.id.tv13);//锻炼日期选项 et01 = (EditText) findViewById(R.id.et01);//锻炼时长 et02 = (EditText) findViewById(R.id.et02);//备注栏 adao=new AddDAO(this);//用于输入数据 aldao=new ActionListDAO(this);//用于选择动作 oddao2 = new OtherdataDAO2(this);//用于添加至明细 } @SuppressLint("SimpleDateFormat") private void initData() { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); tv09.setText(sdf.format(new Date())); tv03.setText(aldao.queryForFirst(DBConstants2.ActionList.TYPE_SportType)); tv05.setText(aldao.queryForFirst(DBConstants2.ActionList.TYPE_FitnessPart)); tv07.setText(aldao.queryForFirst(DBConstants2.ActionList.TYPE_FitnessContent)); tv11.setText(aldao.queryForFirst(DBConstants2.ActionList.TYPE_StrengthLevel)); tv13.setText(aldao.queryForFirst(DBConstants2.ActionList.TYPE_ProjectNumber)); } public void toDate(View v) { Calendar c = Calendar.getInstance(); DatePickerDialog dialog = new DatePickerDialog(this, new OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { tv09.setText(year + "-" + (monthOfYear + 1) + "-" + dayOfMonth); } }, c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH)); dialog.show(); } public void back(View v) { finish(); } public void add(View v) { ContentValues cv = new ContentValues(); cv.put(DBConstants2.add.TIME, et01.getText().toString()); cv.put(DBConstants2.add.SportType, tv03.getText().toString()); cv.put(DBConstants2.add.FitnessPart, tv05.getText().toString()); cv.put(DBConstants2.add.FitnessContent, tv07.getText().toString()); cv.put(DBConstants2.add.DATE, tv09.getText().toString()); cv.put(DBConstants2.add.StrengthLevel, tv11.getText().toString()); cv.put(DBConstants2.add.ProjectNumber, tv13.getText().toString()); cv.put(DBConstants2.add.MARK, et02.getText().toString()); //cv.put(DBConstants2.inout.MONEY, et01.getText().toString()); //cv.put(DBConstants2.inout.KIND, tv03.getText().toString()); //cv.put(DBConstants2.inout.ACCOUNT, tv05.getText().toString()); //cv.put(DBConstants2.inout.SHOP, tv07.getText().toString()); ///cv.put(DBConstants2.inout.DATE, tv09.getText().toString()); //cv.put(DBConstants2.inout.MEMBER, tv11.getText().toString()); //cv.put(DBConstants2.inout.PROJECT, tv13.getText().toString()); //cv.put(DBConstants2.inout.MARK, et02.getText().toString()); //cv.put(DBConstants.inout.TYPE, DBConstants.inout.TYPE_IN); adao.add(cv); Toast.makeText(this, "记录成功!!!", Toast.LENGTH_SHORT).show(); finish(); } //从Otherdatalist里获取动作列表 public void toOther(View v) { Intent i = new Intent(this, OtherdataListActivity2.class); i.putExtra("rs", true); int requestCode = 0; switch (v.getId()) { case R.id.tv03: requestCode = 3; i.putExtra("type", DBConstants2.ActionList.TYPE_SportType); break; case R.id.tv05: requestCode = 5; i.putExtra("type", DBConstants2.ActionList.TYPE_FitnessPart); break; case R.id.tv07: requestCode = 7; i.putExtra("type", DBConstants2.ActionList.TYPE_FitnessContent); break; case R.id.tv11: requestCode = 11; i.putExtra("type", DBConstants2.ActionList.TYPE_StrengthLevel); break; case R.id.tv13: requestCode = 13; i.putExtra("type", DBConstants2.ActionList.TYPE_ProjectNumber); break; } startActivityForResult(i, requestCode); } //进入OtherdataList里可以进行选择动作 @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 3 && resultCode == RESULT_OK) { tv03.setText(data.getStringExtra("value")); }else if (requestCode == 5 &&resultCode == RESULT_OK){ tv05.setText(data.getStringExtra("value")); }else if (requestCode == 7 && resultCode == RESULT_OK) { tv07.setText(data.getStringExtra("value")); } else if (requestCode == 11 && resultCode == RESULT_OK) { tv11.setText(data.getStringExtra("value")); } else if (requestCode == 13 && resultCode == RESULT_OK) { tv13.setText(data.getStringExtra("value")); } } } 求大神帮忙解答下!谢谢
dialog和activity使用不同的格式
使用activity自定义格式。会影响到dialog(alertdialog, DatePickerDialog, 等等),它们也会用这个格式。应该怎么让alertdialog和activity使用不同的格式? <style name="Custom.Theme" parent="@android:style/Theme.Dialog"> <item name="android:background">@color/cag_white</item> <item name="android:textColor">@color/cag_orange</item> <item name="android:textViewStyle">@style/Cag.Dialog.TextView</item> <item name="android:editTextStyle">@style/Cag.EditText</item> <item name="android:buttonStyle">@style/Cag.Button</item> </style> ![CSDN移动问答][1] [1]: http://i.stack.imgur.com/dYt28.png
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私有的数
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
死磕YOLO系列,YOLOv1 的大脑、躯干和手脚
YOLO 是我非常喜欢的目标检测算法,堪称工业级的目标检测,能够达到实时的要求,它帮我解决了许多实际问题。 这就是 YOLO 的目标检测效果。它定位了图像中物体的位置,当然,也能预测物体的类别。 之前我有写博文介绍过它,但是每次重新读它的论文,我都有新的收获,为此我准备写一个系列的文章来详尽分析它。这是第一篇,从它的起始 YOLOv1 讲起。 YOLOv1 的论文地址:https://www.c
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
20行Python代码爬取王者荣耀全英雄皮肤
引言 王者荣耀大家都玩过吧,没玩过的也应该听说过,作为时下最火的手机MOBA游戏,咳咳,好像跑题了。我们今天的重点是爬取王者荣耀所有英雄的所有皮肤,而且仅仅使用20行Python代码即可完成。 准备工作 爬取皮肤本身并不难,难点在于分析,我们首先得得到皮肤图片的url地址,话不多说,我们马上来到王者荣耀的官网: 我们点击英雄资料,然后随意地选择一位英雄,接着F12打开调试台,找到英雄原皮肤的图片
简明易理解的@SpringBootApplication注解源码解析(包含面试提问)
欢迎关注文章系列 ,关注我 《提升能力,涨薪可待》 《面试知识,工作可待》 《实战演练,拒绝996》 欢迎关注我博客,原创技术文章第一时间推出 也欢迎关注公 众 号【Ccww笔记】,同时推出 如果此文对你有帮助、喜欢的话,那就点个赞呗,点个关注呗! 《提升能力,涨薪可待篇》- @SpringBootApplication注解源码解析 一、@SpringBootApplication 的作用是什
西游记团队中如果需要裁掉一个人,会先裁掉谁?
2019年互联网寒冬,大批企业开始裁员,下图是网上流传的一张截图: 裁员不可避免,那如何才能做到不管大环境如何变化,自身不受影响呢? 我们先来看一个有意思的故事,如果西游记取经团队需要裁员一名,会裁掉谁呢,为什么? 西游记团队组成: 1.唐僧 作为团队teamleader,有很坚韧的品性和极高的原则性,不达目的不罢休,遇到任何问题,都没有退缩过,又很得上司支持和赏识(直接得到唐太宗的任命,既给
Python语言高频重点汇总
Python语言高频重点汇总 GitHub面试宝典仓库——点这里跳转 文章目录Python语言高频重点汇总**GitHub面试宝典仓库——点这里跳转**1. 函数-传参2. 元类3. @staticmethod和@classmethod两个装饰器4. 类属性和实例属性5. Python的自省6. 列表、集合、字典推导式7. Python中单下划线和双下划线8. 格式化字符串中的%和format9.
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外
ES6基础-ES6的扩展
进行对字符串扩展,正则扩展,数值扩展,函数扩展,对象扩展,数组扩展。 开发环境准备: 编辑器(VS Code, Atom,Sublime)或者IDE(Webstorm) 浏览器最新的Chrome 字符串的扩展: 模板字符串,部分新的方法,新的unicode表示和遍历方法: 部分新的字符串方法 padStart,padEnd,repeat,startsWith,endsWith,includes 字
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/ 
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca
Python爬虫精简步骤1 获取数据
爬虫的工作分为四步: 1.获取数据。爬虫程序会根据我们提供的网址,向服务器发起请求,然后返回数据。 2.解析数据。爬虫程序会把服务器返回的数据解析成我们能读懂的格式。 3.提取数据。爬虫程序再从中提取出我们需要的数据。 4.储存数据。爬虫程序把这些有用的数据保存起来,便于你日后的使用和分析。 这一篇的内容就是:获取数据。 首先,我们将会利用一个强大的库——requests来获取数据。 在电脑上安装
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
web前端javascript+jquery知识点总结
Javascript javascript 在前端网页中占有非常重要的地位,可以用于验证表单,制作特效等功能,它是一种描述语言,也是一种基于对象(Object)和事件驱动并具有安全性的脚本语言 ,语法同java类似,是一种解释性语言,边执行边解释。 JavaScript的组成: ECMAScipt 用于描述: 语法,变量和数据类型,运算符,逻辑控制语句,关键字保留字,对象。 浏览器对象模型(Br
Qt实践录:开篇
本系列文章介绍笔者的Qt实践之路。 背景 笔者首次接触 Qt 大约是十多年前,当时试用了 Qt ,觉得不如 MFC 好用。现在 Qt 的 API、文档等都比较完善,在年初决定重新拾起,正所谓技多不压身,将 Qt 当为一种谋生工具亦未尝不可。利用春节假期的集中时间,快速专攻一下。 本系列名为“Qt实践”,故不是教程,笔者对 Qt 的定位是“使用”,可以帮助快速编写日常的工具,如串口、网络等。所以不
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ......
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。   再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。   下文是原回答,希望能对你能有所启发。   如果我说,这个世界上人真的分三六九等,
为什么听过很多道理,依然过不好这一生?
记录学习笔记是一个重要的习惯,不希望学习过的东西成为过眼云烟。做总结的同时也是一次复盘思考的过程。 本文是根据阅读得到 App上《万维钢·精英日课》部分文章后所做的一点笔记和思考。学习是一个系统的过程,思维模型的建立需要相对完整的学习和思考过程。以下观点是在碎片化阅读后总结的一点心得总结。
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计
一条链接即可让黑客跟踪你的位置! | Seeker工具使用
搬运自:冰崖的部落阁(icecliffsnet) 严正声明:本文仅限于技术讨论,严禁用于其他用途。 请遵守相对应法律规则,禁止用作违法途径,出事后果自负! 上次写的防社工文章里边提到的gps定位信息(如何防止自己被社工或人肉) 除了主动收集他人位置信息以外,我们还可以进行被动收集 (没有技术含量) Seeker作为一款高精度地理位置跟踪工具,同时也是社交工程学(社会工程学)爱好者...
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧...... 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问