android studio升级到3.0之后每次写findViewById的时候,传的id每次都报红 3C

android studio升级到3.0之后每次写findViewById的时候,传的id每次都报红,ctrl+鼠标左键可以找到布局,运行代码之后就不红了,为什么,是不是studio配置的问题

4个回答

或许是编译器不太稳定吧(毕竟最新版本)……

是不是没创建好?

R类有?

ReBuild一下,目前没有遇到该问题,优先选择DataBinding,其次Butterknife

这个我也遇到过,是当时编译过慢导致的,可以重启下AS

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
使用Android studio编写的程序,写好代码后运行app到模拟器的时候会闪退

希望懂的大佬能帮帮忙,救救我,这个问题困扰我好久了,这个问题没解决就无法进行下一步。 1.最近使用Android studio编写了一个程序,写好代码后运行app到模拟器的时候会闪退(创建时程序版本和模拟器版本相同为5.1)。没有写代码时(也就是刚创建好程序,没添加任何东西时),在模拟器中能正常运行,但是当我写好代码后,运行app到模拟器上就会闪退了。 2.在代码部分,我是根据的SuperMap iMobile 9D(2019) for Android Guide的指导书写的,现在我也配置了许可,但还是会闪退 3.各个部分的代码如下: ``` <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.loadscence"> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"></uses-permission> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission> <uses-permission android:name="android.permission.READ_PHONE_STATE"></uses-permission> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"></uses-permission> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name=".MainActivity" android:label="@string/app_name" android:configChanges="keyboardHidden|orientation|screenSize" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> <supports-screens android:largeScreens="true" android:resizeable="true" android:normalScreens="true" android:anyDensity="true"/> </manifest> ///////////////////////////////////////////////////////////这是mainactivity.java的代码 package com.example.loadscence; import androidx.appcompat.app.AppCompatActivity; import android.view.Menu; import android.view.MenuItem; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.ZoomControls; import com.supermap.data.Environment; import com.supermap.data.Workspace; import com.supermap.data.WorkspaceConnectionInfo; import com.supermap.data.WorkspaceType; import com.supermap.mapping.MapControl; import com.supermap.mapping.MapView; public class MainActivity extends AppCompatActivity { private MapControl m_mapcontrol = null; private Workspace m_workspace; private MapView m_mapView; private ZoomControls m_zoom; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //设置一些系统需要用到的路径 String rootPath = android.os.Environment.getExternalStorageDirectory().getAbsolutePath(); Environment. setLicensePath (rootPath + "/SuperMap/license/"); Environment. setTemporaryPath (rootPath + "/SuperMap/temp/"); Environment. setWebCacheDirectory (rootPath + "/SuperMap/WebCatch"); //组件功能必须在 Environment 初始化之后才能调用 Environment. initialization (this); //如果机器中默认不包括需要显示的字体,可以把相关字体文件放在参数所代表的路径中。 //例如,如果需要显示阿拉伯文字(若机器中原先不包括相关字体文件),可以把需要的字体文件放在参数所代表的路径中。 Environment. setFontsPath (rootPath + "/SuperMap/fonts/"); setContentView(R.layout. activity_main ); //打开工作空间 m_workspace = new Workspace(); WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(); info.setServer(rootPath + "/SampleData/GeometryInfo/World.smwu"); info.setType(WorkspaceType. SMWU ); m_workspace.open(info); //将地图显示控件和工作空间关联 m_mapView = (MapView)findViewById(R.id. Map_view ); m_mapcontrol = m_mapView.getMapControl(); m_mapcontrol.getMap().setWorkspace(m_workspace); //打开工作空间中的第二幅地图 String mapName = m_workspace.getMaps().get(1); m_mapcontrol.getMap().open(mapName); m_zoom = (ZoomControls)findViewById(R.id. zoomControls1 ); m_mapView = (MapView)findViewById(R.id. Map_view ); m_zoom.setIsZoomInEnabled(true); m_zoom.setIsZoomOutEnabled(true); //放大按钮 m_zoom.setOnZoomInClickListener(new OnClickListener() { public void onClick(View v) { m_mapcontrol.getMap().zoom(2); m_mapcontrol.getMap().refresh(); } }); //缩小按钮 m_zoom.setOnZoomOutClickListener(new OnClickListener(){ public void onClick(View v) { m_mapcontrol.getMap().zoom(0.5); m_mapcontrol.getMap().refresh(); } }); m_mapcontrol.getMap().refresh(); } } ///////////////////////////////////////////////////////////这是activity的代码 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/main"> <RelativeLayout android:gravity="left" android:layout_width="match_parent" android:layout_height="match_parent"> <com.supermap.mapping.MapView android:id = "@+id/Map_view" android:layout_width="match_parent" android:layout_height = "match_parent"> </com.supermap.mapping.MapView> <ZoomControls android:id="@+id/zoomControls1" android:layout_alignParentBottom="true" android:layout_alignParentRight="true" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content"> </ZoomControls> </RelativeLayout> </RelativeLayout> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> ///////////////////////////////////////////////////////////报错日志如下: 03-23 22:32:10.438 22856-22856/com.example.loadscence E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.loadscence, PID: 22856 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.loadscence/com.example.loadscence.MainActivity}: java.lang.NullPointerException: Attempt to get length of null array at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5254) at java.lang.reflect.Method.invoke(Native Method) at java.lang.reflect.Method.invoke(Method.java:372) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by: java.lang.NullPointerException: Attempt to get length of null array at com.supermap.data.Environment.checkAndLoadLibrary64(Environment.java:1632) at com.supermap.data.Environment.initialization(Environment.java:576) at com.example.loadscence.MainActivity.onCreate(MainActivity.java:33) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)  at android.app.ActivityThread.access$800(ActivityThread.java:151)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)  at android.os.Handler.dispatchMessage(Handler.java:102)  at android.os.Looper.loop(Looper.java:135)  at android.app.ActivityThread.main(ActivityThread.java:5254)  at java.lang.reflect.Method.invoke(Native Method)  at java.lang.reflect.Method.invoke(Method.java:372)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)  ```

Android studio 连接数据库问题 我这样写有错吗帮我看看

package com.example.administrator.testdate; import android.os.Bundle; import android.os.StrictMode; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.Statement; public class MainActivity extends AppCompatActivity { String Username="root"; //数据库用户名 String Password="12345678"; //数据库用户密码 Button button1; Button button2; EditText textView1; EditText textView2; Connection conn=null; Statement stmt=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); button1 = (Button) findViewById(R.id.button1); button2 = (Button) findViewById(R.id.button2); textView1=(EditText)findViewById(R.id.editText2); textView2=(EditText)findViewById(R.id.editText) ; StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build()); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { connection(); } }); button2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { textView1.setText(""); textView2.setText(""); } }); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } public void connection() { String username = textView1.getText().toString(); String password=textView2.getText().toString(); if (username != null) { //打开数据库 try {//注册驱动程序 Class.forName("com.mysql.jdbc.Driver"); } catch (java.lang.ClassNotFoundException e) { System.err.println("Driver Error " + e.getMessage()); } //连接数据库并创建Statement 对象 String sConnStr = "jdbc:mysql://localhost/testdate?user=" + Username + "&password=" + Password + "&useUnicode=true&characterEncoding=utf8"; try { conn = DriverManager.getConnection(sConnStr); conn.setAutoCommit(true); //更新数据库 String sql = "insert into testdate(username,password) values(?,?)"; PreparedStatement sta = conn.prepareStatement(sql); sta.setString(1, username); sta.setString(2, password); sta.executeUpdate(); sta.close(); conn.close(); } catch (Exception e) { System.err.println("数据库连接错误: " + e.getMessage()); return; } } } }

android studio 相册类应用的编写

如图-![图片说明](https://img-ask.csdn.net/upload/201910/23/1571834081_137834.png) ![图片说明](https://img-ask.csdn.net/upload/201910/23/1571834118_27487.png) 由于是在国外上学所以上课老师讲的操作可以跟上但是还是有些地方没有听明白,作业要让用activity_main.xml, dialog.xml, strings.xml MainActivity.java来表示,我只写了activity_main.xml,MainActivity.java,而且还读不出来,想让大手看看哪里出了错,如果大神能帮忙解释一下dialog.xml, strings.xml 这两个怎么写,小弟万分感谢 activity_main.xml ``` <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <GridView android:numColumns="auto_fit" android:gravity="center" android:id="@+id/gv" android:columnWidth="120dp" android:verticalSpacing="120dp" android:layout_width="match_parent" android:layout_height="match_parent"> </GridView> </RelativeLayout> ``` MainActivity.java ```package com.example.photo; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.os.Bundle; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private int[] pictures = new int[]{ R.drawable.apple1,R.drawable.grape, R.drawable.kiwi,R.drawable.orange1, R.drawable.strawberry,R.drawable.subak}; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView gv = super.findViewById(R.id.gv); gv.setAdapter(new ImageAdapter(this)); } public class ImageAdapter extends BaseAdapter { mContext = c; } @Override public int getCount() { return pictures.length; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView if (convertView == null) { imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(100, 90)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); } else { imageView = (ImageView) convertView; } imageView.setImageResource(pictures[position]); return imageView; } } ```

在fragment中使用view.findViewById提示找不到符号

问题如下,请问如何解决? ![图片说明](https://img-ask.csdn.net/upload/202005/11/1589182378_81763.jpg)![图片说明](https://img-ask.csdn.net/upload/202005/11/1589182390_639148.jpg) ``` public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.step_fragment,null); initView(); initData(); initListener(); return view; } private void initView() { movementCalenderLl = (LinearLayout) view.findViewById(R.id.movement_records_calender_ll); kmTimeTv = (TextView) view.findViewById(R.id.movement_total_km_time_tv); totalKmTv = (TextView) view.findViewById(R.id.movement_total_km_tv); stepsTimeTv = (TextView) view.findViewById(R.id.movement_total_steps_time_tv); totalStepsTv = (TextView) view.findViewById(R.id.movement_total_steps_tv); supportTv = (TextView) view.findViewById(R.id.is_support_tv); curSelDate = TimeUtil.getCurrentDate(); } ```

Android studio 如何实现数据保存

你好!本人是Android studio编程初学者 ,最近自己尝试在做一个APP,已经可以实时 显示我希望得到的数据了,但是我想将希望得到的实时显示的数据保存下来,保存到文件 中就行,这是代码: package com.gdy.filepersistencetest; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.os.Environment; import android.support.design.widget.FloatingActionButton; import android.support.design.widget.Snackbar; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.View; import android.view.Menu; import android.view.MenuItem; import android.widget.EditText; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; public class MainActivity extends Activity { private EditText edit; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edit = (EditText)findViewById(R.id.edit); } @Override protected void onDestroy(){ super.onDestroy(); String inputText = edit.getText().toString(); saveToSDCard("wxhn",inputText); } // save infomation in the SDCard public boolean saveToSDCard(String fileName, String content) { // judge weather the SDCard exits,and can be read and written if (!Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { return false; } FileOutputStream fileOutputStream = null; File file = new File(Environment.getExternalStorageDirectory(), fileName); try { fileOutputStream = new FileOutputStream(file); fileOutputStream.write(content.getBytes()); return true; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fileOutputStream != null) { fileOutputStream.close(); } } catch (IOException e) { e.printStackTrace(); } } return false; } } 可是当我将APP安装到手机上,找不到我保存的数据,不知道是不是没保存还是我没找到,请大神指导!!

Android studio 不报错

radioGroup = findViewById(R.id.home_radiogroup); 这样的语句在Android studio 1.5.1居然不报错,为什么

Android Studio编程 加了进度条组件之后,报错,无法实例化应用

Android Studio编程 加了进度条组件之后,运行之后,报错,无法实例化应用 但运行之后,可以正常显示进度条 ``` <ProgressBar android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/progress1" /> ``` ``` final ProgressBar progressBar = (ProgressBar)findViewById(R.id.progress1); ``` 报错信息 ``` java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.IllegalStateException: Unable to get package info for com.example.zp.myapplication_1; is package not installed?```

Android Studio用模拟器运行时显示不出ImageView里的图片

在android 开发中碰到从一个activity转到第二个activity时 第一个activity中的imageView图片可以显示 第二个activity中的imageView无法显示,但是可以显示背景色 求大神解答原因 mainActivity ``` package com.example.yuexiangpu2; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.os.Environment; import android.view.View; import android.widget.Button; import java.io.File; import java.io.*; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private Button btnok; private Button btnrecord; private Button btncancel; private Button btnlisten; private MyMediaPlayer myMediaPlayer; private MyMediaRecorder myMediaRecorder; private File soundFile; //选择视图 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } //初始化视图 private void initView() { btnok = (Button) findViewById(R.id.btnok); btnrecord = (Button)this.findViewById(R.id.btnrecord); btncancel = (Button)this.findViewById(R.id.btncancel); btnlisten = (Button)this.findViewById(R.id.btnlisten); //btnok跳转视图 btnok.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(MainActivity.this, FinishRecordActivity.class); startActivity(intent); } }); ``` 第二个activity ``` package com.example.yuexiangpu2; import android.app.Activity; import android.os.Bundle; public class FinishRecordActivity extends Activity{ //设置视图 @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_finishrecord); } } ``` MainActivity的layout ``` <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/imgrecording" android:layout_width="300dp" android:layout_height="300dp" android:layout_alignParentTop="true" android:background="#2B2B2B" android:contentDescription="@string/app_name" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.299" app:srcCompat="@drawable/recording" /> <Button android:id="@+id/btnrecord" android:layout_width="220dp" android:layout_height="220dp" android:layout_centerHorizontal="true" android:background="#00000000" app:layout_constraintBottom_toBottomOf="@+id/imgrecording" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="@+id/imgrecording" app:layout_constraintVertical_bias="1.0" /> <Button android:id="@+id/btnok" android:layout_width="150dp" android:layout_height="50dp" android:layout_marginTop="56dp" android:background="@drawable/ok" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/imgrecording" /> <Button android:id="@+id/btncancel" android:layout_width="150dp" android:layout_height="50dp" android:layout_marginStart="68dp" android:layout_marginLeft="68dp" android:layout_marginBottom="48dp" android:background="@drawable/cancel" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.33" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/btnok" app:layout_constraintVertical_bias="1.0" /> <Button android:id="@+id/btnlisten" android:layout_width="150dp" android:layout_height="50dp" android:background="@drawable/listen" app:layout_constraintBottom_toTopOf="@+id/btncancel" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/btnok" app:layout_constraintVertical_bias="0.54" /> </androidx.constraintlayout.widget.ConstraintLayout> ``` 第二个activity的layout ``` <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <ImageView android:id="@+id/imgrecording" android:layout_width="300dp" android:layout_height="300dp" android:layout_alignParentTop="true" android:contentDescription="@string/app_name" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.299" app:srcCompat="@drawable/recording" /> <Button android:id="@+id/btnconvert" android:layout_width="150dp" android:layout_height="50dp" android:layout_marginTop="76dp" android:background="@drawable/convert" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.498" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/imgrecording" /> <Button android:id="@+id/btnsave" android:layout_width="150dp" android:layout_height="50dp" android:background="@drawable/save" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/btnconvert" app:layout_constraintVertical_bias="0.33" /> </androidx.constraintlayout.widget.ConstraintLayout> ```

Android Studio 应用无法访问本地服务器

代码在android studio 模拟器运行后本地服务器监听不到访问,可以确定后端代码没有问题,并且模拟器网络正常,可以使用模拟器里的浏览器访问服务器。 应用也添加了网络访问权限。 ``` <uses-permission android:name="android.permission.INTERNET" /> ``` 代码: ``` public class MainActivity extends AppCompatActivity { private TextView tvContent; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvContent = (TextView) findViewById(R.id.test1); // 这里页面上就一个简单的TextView,用于展示获取到报文内容 requestUsingHttpURLConnection(); } private Handler handler = new Handler(){ @Override public void handleMessage(Message msg) { if(msg.what == 1){ tvContent.setText(msg.obj.toString()); } } }; private void requestUsingHttpURLConnection() { // 网络通信属于典型的耗时操作,开启新线程进行网络请求 new Thread(new Runnable() { @Override public void run() { HttpURLConnection connection = null; try { URL url = new URL("http://10.0.2.2:8080/ServletTest/RegisterServlet?account=123&password=abc"); // 声明一个URL,注意——如果用百度首页实验,请使用https //http://10.20.4.178:8080/ServletTest/RegisterServlet?account=123&password=abc Log.d("test", "开始连接"); connection = (HttpURLConnection) url.openConnection(); // 打开该URL连接 connection.setRequestMethod("GET"); // 设置请求方法,“POST或GET”,我们这里用GET,在说到POST的时候再用POST connection.setConnectTimeout(8000); // 设置连接建立的超时时间 connection.setReadTimeout(8000); // 设置网络报文收发超时时间 InputStream in = connection.getInputStream(); // 通过连接的输入流获取下发报文,然后就是Java的流处理 Log.d("test", "获取连接"); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); StringBuilder response = new StringBuilder(); String line; while ((line = reader.readLine()) != null) { response.append(line); } Message msg = new Message(); msg.what = 1; msg.obj = response.toString(); Log.d("test", response.toString()); handler.sendMessage(msg); } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }).start(); } } ``` URL应该没有问题,我通过日志输出的URL可以在模拟器浏览器成功访问服务器 ``` public class Consatant { public static String URL = "http://10.0.2.2:8080/ServletTest/"; // IP地址请改为你自己的IP public static String URL_Register = URL + "RegisterServlet"; public static String URL_Login = URL + "LoginServlet"; } ```

ANDROID - 如何在android studio中将数据库mysql php的值显示到textview中

<div class="post-text" itemprop="text"> <p>I've been looking some references to display my value database into android using JSON, but i have a trouble about the keyword to find it, here is all my code to try, please CMIIW, i have put my code and DB into hostinger to make it easy <a href="http://zxccvvv.cuccfree.com/" rel="nofollow">here</a></p> <h1>php code</h1> <blockquote> <p>dbconfig.php</p> </blockquote> <pre><code>$servername = "localhost"; $username = "root"; $password = ""; $dbname = "data_kuesioner"; </code></pre> <blockquote> <p>send_data.php</p> </blockquote> <pre><code>&lt;?php include 'dbconfig.php'; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn-&gt;connect_error) { die("Connection failed: " . $conn-&gt;connect_error); } $sql = "SELECT * FROM pertanyaan"; $result = $conn-&gt;query($sql); if ($result-&gt;num_rows &gt; 0) { while($row[] = $result-&gt;fetch_assoc()) { $json = json_encode($row); } } else { echo "0 results"; } echo $json; $conn-&gt;close(); ?&gt; </code></pre> <h1>android code</h1> <blockquote> <p>MainActivity.java</p> </blockquote> <pre class="lang-js prettyprint-override"><code>package flix.yudi.okhttp; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.EditText; import android.widget.TextView; import java.io.IOException; import java.util.concurrent.ExecutionException; import okhttp3.MediaType; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; public class MainActivity extends AppCompatActivity { private EditText edtText; private TextView outputText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edtText = (EditText) findViewById(R.id.editText1); outputText = (TextView) findViewById(R.id.textView1); } public void downloadUrl(View view) { String url = "http://" + edtText.getText().toString(); OkHttpHandler handler = new OkHttpHandler(); String result = null; try { result = handler.execute(url).get(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (ExecutionException e) { // TODO Auto-generated catch block e.printStackTrace(); } outputText.append(result + " "); } } </code></pre> <blockquote> <p>OkHttpHandler.java</p> </blockquote> <pre class="lang-js prettyprint-override"><code>package flix.yudi.okhttp; import android.os.AsyncTask; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; public class OkHttpHandler extends AsyncTask&lt;String, Void, String&gt; { OkHttpClient client = new OkHttpClient(); @Override protected String doInBackground(String... params) { Request.Builder builder = new Request.Builder(); builder.url(params[0]); Request request = builder.build(); try { Response response = client.newCall(request).execute(); return response.body().string(); } catch (Exception e) { } return null; } } </code></pre> <p>but when i run the program, the app display another interface below</p> <p><a href="https://i.stack.imgur.com/1uyLX.png" rel="nofollow"><img src="https://i.stack.imgur.com/1uyLX.png" alt="Pic"></a></p> </div>

android studio错误日志这样的 不知道哪里错误 郁闷哭了

错误日志 ``` E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.wechat, PID: 3124 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.wechat/com.example.wechat.ListViewActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2913) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048) at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:193) at android.app.ActivityThread.main(ActivityThread.java:6669) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858) Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.ListView.setAdapter(android.widget.ListAdapter)' on a null object reference at com.example.wechat.ListViewActivity.onCreate(ListViewActivity.java:16) at android.app.Activity.performCreate(Activity.java:7136) at android.app.Activity.performCreate(Activity.java:7127) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1271) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2893) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3048)  at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)  at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)  at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)  at android.os.Handler.dispatchMessage(Handler.java:106)  at android.os.Looper.loop(Looper.java:193)  at android.app.ActivityThread.main(ActivityThread.java:6669)  at java.lang.reflect.Method.invoke(Native Method)  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)  ``` MyListAdapter.java ``` package com.example.wechat; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; //Adapter 适配器 用来写列表每一行,每一个网格是什么样子的 public class MyListAdapter extends BaseAdapter { protected Context mContext; protected LayoutInflater mLayoutInflater; public MyListAdapter(Context context){ this.mContext = context; mLayoutInflater = LayoutInflater.from(context); } @Override //列表长度 public int getCount() { return 10; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } static class ViewHolder{ public ImageView imageView; public TextView tv_title,tv_time,tv_content; } @Override //列表每一行是什么样子 public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null){ convertView =mLayoutInflater.inflate(R.layout.layout_list_item,null); holder = new ViewHolder(); holder.imageView = convertView.findViewById(R.id.iv_1); holder.tv_title = convertView.findViewById(R.id.tv_title); holder.tv_time = convertView.findViewById(R.id.tv_time); holder.tv_content = convertView.findViewById(R.id.tv_content); convertView.setTag(holder); }else { holder = (ViewHolder) convertView.getTag(); } //给控件赋值 holder.tv_title.setText("这是标题"); holder.tv_time.setText("2088-08-08"); holder.tv_content.setText("这是内容"); Glide.with(mContext).load("https://blog.hkmovie6.com/wp-content/uploads/2018/12/946848-1024x576.jpg").into(holder.imageView); return convertView; } } ``` ListViewActivity.java ``` package com.example.wechat; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ListView; public class ListViewActivity extends AppCompatActivity { protected ListView mLv1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_list_view); mLv1 = findViewById(R.id.lv_1); mLv1.setAdapter(new MyListAdapter(com.example.wechat.ListViewActivity.this)); } } ```

android studio中运行以下代码为什么会出现找不到符号

public class MainActivity extends AppCompatActivity { private Button btn_1; private Button btn_2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btn_1=(Button)findViewById(R.id.anniu); btn_1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { ViewGroup activity_main=(ViewGroup)findViewById(R.id.activity_main); btn_2=new Button(MainActivity.this); btn_2.setText("按钮2"); activity_main.addView(btn_2); } }); } } 错误:找不到符号 符号:变量activity_main 位置:类id

Android Studio 中Button控件的问题

目前在参考《第一行代码Android 第二版》 看到书中 第2.2.4节 在活动中使用Toast 其中我在写码Button的时候我的AS会报错 ![图片说明](https://img-ask.csdn.net/upload/201910/13/1570978836_981403.png) 附MainActivity.kt的代码 ``` package com.example.myapplication import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.view.View import android.widget.Button import android.widget.Toast class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState); setContentView(R.layout.first_layout); Button button_1 = (Button) findViewById(R.id.button_1); button1 .setOnClickListener(new View.onClickListener) { @Override public void onClick(View v){ Toast.makeText(MainActivity.this,"You Clcke Button 1",Toast.LENGTH_SHORT).show(); } }; } } ``` 谢谢@王能指出代码没贴出来 此上为问题代码![图片说明](https://img-ask.csdn.net/upload/201910/15/1571136452_474511.png)

android studio打包APK后安装完成后打开按钮不可点,桌面也无图标,但应用里显示已安装

估计是代码问题,网上down的代码,是不是哪里错了?功能很简单,就一个webview控件,点开应用直接启动,代码如下,求大神查错修改,谢谢。 ## AndroidManifest.xml <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.ricky.myapplication"> <uses-permission android:name="android.permission.INTERNET" /> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name="com.example.ricky.myapplication.MainActivity" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LUNCHER"/> </intent-filter> </activity><!-- ATTENTION: This was auto-generated to add Google Play services to your project for App Indexing. See https://g.co/AppIndexing/AndroidStudio for more information. --> <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" /> </application> </manifest> ## MainActivity.java package com.example.ricky.myapplication; import android.app.Activity; import android.net.Uri; import android.os.Bundle; import android.webkit.WebView; import android.webkit.WebViewClient; import com.google.android.gms.appindexing.Action; import com.google.android.gms.appindexing.AppIndex; import com.google.android.gms.appindexing.Thing; import com.google.android.gms.common.api.GoogleApiClient; public class MainActivity extends Activity { private WebView webView; /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ private GoogleApiClient client; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.test); init(); // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build(); } private void init() { webView = (WebView) findViewById(R.id.webView); //WebView加载web资源 webView.loadUrl("http://baidu.com/"); //覆盖WebView默认使用第三方或系统默认浏览器打开网页的行为,使网页用WebView打开 webView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { // TODO Auto-generated method stub //返回值是true的时候控制去WebView打开,为false调用系统浏览器或第三方浏览器 view.loadUrl(url); return true; } }); } /** * ATTENTION: This was auto-generated to implement the App Indexing API. * See https://g.co/AppIndexing/AndroidStudio for more information. */ public Action getIndexApiAction() { Thing object = new Thing.Builder() .setName("Main Page") // TODO: Define a title for the content shown. // TODO: Make sure this auto-generated URL is correct. .setUrl(Uri.parse("http://baidu.com/")) .build(); return new Action.Builder(Action.TYPE_VIEW) .setObject(object) .setActionStatus(Action.STATUS_TYPE_COMPLETED) .build(); } @Override public void onStart() { super.onStart(); // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. client.connect(); AppIndex.AppIndexApi.start(client, getIndexApiAction()); } @Override public void onStop() { super.onStop(); // ATTENTION: This was auto-generated to implement the App Indexing API. // See https://g.co/AppIndexing/AndroidStudio for more information. AppIndex.AppIndexApi.end(client, getIndexApiAction()); client.disconnect(); } } ## layout下test.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <WebView android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/webView" /> </LinearLayout>

Android studio获取IMEI码 真机调试闪退

目标是获取IMEI码,已经加入READ_PHONE_STATE的权限 以下代码在MainActivity中,手机真机运行时,按下按钮直接闪退了 ```package com.example.imei_get; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.telephony.TelephonyManager; import android.view.View; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private static Context context; //全局的上下文 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); context = getApplicationContext(); } public void get_imei(View v){ TextView txv= (TextView) findViewById(R.id.textview);// TelephonyManager TelephonyMgr = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); String szImei = TelephonyMgr.getDeviceId(); txv.setText(szImei); } } ```

求助android studio 相册类应用的编写

![图片说明](https://img-ask.csdn.net/upload/201910/26/1572093901_390865.png)![图片说明](https://img-ask.csdn.net/upload/201910/26/1572093915_950421.png)由于是在国外上学所以上课老师讲的操作可以跟上但是还是有些地方没有听明白,作业要让用activity_main.xml, dialog.xml, strings.xml MainActivity.java来表示,我只写了activity_main.xml,MainActivity.java,而且还读不出来,想让大手看看哪里出了错,如果大神能帮忙解释一下dialog.xml, strings.xml 这两个怎么写,小弟万分感谢 activity_main.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <GridView android:numColumns="auto_fit" android:gravity="center" android:id="@+id/gv" android:columnWidth="120dp" android:verticalSpacing="120dp" android:layout_width="match_parent" android:layout_height="match_parent"> </GridView> </RelativeLayout> MainActivity.java ```package com.example.photo; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.os.Bundle; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private int[] pictures = new int[]{ R.drawable.apple1,R.drawable.grape, R.drawable.kiwi,R.drawable.orange1, R.drawable.strawberry,R.drawable.subak}; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridView gv = super.findViewById(R.id.gv); gv.setAdapter(new ImageAdapter(this)); } public class ImageAdapter extends BaseAdapter { mContext = c; } @Override public int getCount() { return pictures.length; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { ImageView imageView if (convertView == null) { imageView = new ImageView(mContext); imageView.setLayoutParams(new GridView.LayoutParams(100, 90)); imageView.setScaleType(ImageView.ScaleType.CENTER_CROP); } else { imageView = (ImageView) convertView; } imageView.setImageResource(pictures[position]); return imageView; } }``` ```

android studio 出现程序包R不存在的问题该怎么解决,求解

android studio 出现程序包R不存在的问题该怎么解决,请各位大佬给我一个能用的解决方案,百度上找的方法发现都不能解决啊 AndroidMainfest.xml ``` <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.R"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="用户登录界面" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest> ``` Mainactivity.java ``` package com.example.myapplication; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private boolean checked=false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.btlogin).setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view) { login(view); } }); CheckBox checkBox=findViewById(R.id.checkBox); checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton compoundButton, boolean b) { checked=b; } }); } public void login(View view){ EditText et_phone=findViewById(R.id.et_phone); String loginName=et_phone.getText().toString(); checked=((CheckBox)findViewById(R.id.checkBox)).isChecked(); Toast.makeText(this,loginName+ "is login...Remmber is"+checked, Toast.LENGTH_SHORT).show(); } } ```

如何使用android studio将图像上传到服务器?

<div class="post-text" itemprop="text"> <p>我正在尝试从我的Altervista服务器上的目录中上传从图像视图获取的图像。 我看到了很多这样的问题,但是它们使用了HttpClient,HttpPost等,现在已弃用。 我在YouTube上看到了一个教程,并将其调整为我的应用程序,但无法正常工作。 该代码将图像上传到正确的目录中,但是如果我尝试在服务器上打开它,则会出现黑屏。 我将图像下载到我的电脑上,结果更糟。</p> <p><a href="https://i.stack.imgur.com/piOez.png" rel="nofollow noreferrer">这是我下载图片时看到的</a></p> <p><a href="https://i.stack.imgur.com/QB4qt.jpg" rel="nofollow noreferrer">这里的图片是空的</a></p> <p>Php 代码:</p> <pre><code> &lt;?php $image=$_POST['image']; $decodedImage=base64_decode("$image"); file_put_contents("/membri/motivationalapp/shareImages/" . "prova" . ".jpg", $decodedImage); echo "ok"; ?&gt; </code></pre> <p>该图像拍摄于imageView:</p> <pre><code> imageView=findViewById(R.id.imageView); screenShot=((BitmapDrawable)imageView.getDrawable()).getBitmap(); </code></pre> <p>编码图像的线程:</p> <pre><code> new Thread(new Runnable() { Background background = new Background(MotAct.this); ByteArrayOutputStream byteArrayOutputStream=new ByteArrayOutputStream(); public void run() { screenShot.compress(Bitmap.CompressFormat.JPEG,100,byteArrayOutputStream); String encodedImage= Base64.encodeToString(byteArrayOutputStream.toByteArray(),Base64.DEFAULT); Log.d("debug", encodedImage); background.uploadShareImage(encodedImage); //call to AsyncTask } }).start(); </code></pre> <p>在Asynctask类中上传图片: doInBackground方法:</p> <pre><code> final String urlServer = "http://aaa.altervista.org/fileUp/shareImage.php"; encodedImage=strings[1]; try { //connecting to server url = new URL(urlServer); httpURLConnection = (HttpURLConnection) url.openConnection(); httpURLConnection.setRequestMethod("POST"); httpURLConnection.setDoOutput(true); OS = httpURLConnection.getOutputStream(); bufferedWriter = new BufferedWriter(new OutputStreamWriter(OS, "UTF-8")); //encode data for post method String dati = URLEncoder.encode("image", "UTF-8") + "=" + URLEncoder.encode(encodedImage, "UTF-8"); bufferedWriter.write(dati); bufferedWriter.flush(); bufferedWriter.close(); OS.close(); //read server answer InputStream inputStream = httpURLConnection.getInputStream(); bufferedReader= new BufferedReader(new InputStreamReader((inputStream))); stringBuilder= new StringBuilder(); while((risposta=bufferedReader.readLine())!=null){ stringBuilder.append(risposta+" "); } bufferedReader.close(); inputStream.close(); inputStream.close(); httpURLConnection.disconnect(); risposta=stringBuilder.toString().trim(); if(risposta.equals("ok")) return 1; else return 100; }catch (MalformedURLException e){ e.printStackTrace(); } catch (IOException e1){ e1.printStackTrace(); } </code></pre> <p>希望大家能够帮助我,谢谢!</p> </div>

Android studio EventBus一用就闪退

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); findViewById(R.id.two_btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(TwoActivity.this,MainActivity.class)); } }); EventBus.getDefault().post(new MessageEvent("Hello everyone!")); } @Override public void onStart() { super.onStart(); EventBus.getDefault().register(this); } @Override protected void onStop() { super.onStop(); EventBus.getDefault().unregister(this); } } public class MainActivity extends AppCompatActivity { private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); } public void initView() { textView = findViewById(R.id.text); findViewById(R.id.btn).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(MainActivity.this,TwoActivity.class)); } }); } @Subscribe public void onMessageEvent(MessageEvent event){ Toast.makeText(this, event.message, Toast.LENGTH_SHORT).show(); } @Override public void onStart() { super.onStart(); EventBus.getDefault().register(this); } @Override protected void onStop() { super.onStop(); EventBus.getDefault().unregister(this); } } 错误信息 05-09 15:13:47.730 2079-2079/? E/memtrack: Couldn't load memtrack module (No such file or directory) 05-09 15:13:47.730 2079-2079/? E/android.os.Debug: failed to load memtrack module: -2 05-09 15:13:47.750 2079-2084/? E/cutils-trace: Error opening trace file: No such file or directory (2) 05-09 15:13:53.010 2095-2095/? E/memtrack: Couldn't load memtrack module (No such file or directory) 05-09 15:13:53.010 2095-2095/? E/android.os.Debug: failed to load memtrack module: -2 05-09 15:13:53.450 2095-2099/? E/cutils-trace: Error opening trace file: No such file or directory (2) 05-09 15:13:53.980 2117-2117/? E/memtrack: Couldn't load memtrack module (No such file or directory) 05-09 15:13:53.980 2117-2117/? E/android.os.Debug: failed to load memtrack module: -2 05-09 15:13:54.000 2117-2121/? E/cutils-trace: Error opening trace file: No such file or directory (2) 05-09 15:13:54.010 2126-2132/? E/dalvikvm: DalvikVM: double-overflow of stack in threadid=4; aborting 05-09 15:13:54.010 2126-2132/? E/dalvikvm: VM aborting 05-09 15:13:54.010 2126-2132/? A/libc: Fatal signal 6 (SIGABRT) at 0x0000084e (code=-6), thread 2132 (JDWP)

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

ArrayList源码分析(入门篇)

ArrayList源码分析 前言: 写这篇博客的主要原因是,在我上一次参加千牵科技Java实习生面试时,有被面试官问到ArrayList为什么查找的速度较快,插入和删除的速度较慢?当时我回答得不好,很大的一部分原因是因为我没有阅读过ArrayList源码,虽然最后收到Offer了,但我拒绝了,打算寒假学得再深入些再广泛些,下学期开学后再去投递其他更好的公司。为了更加深入理解ArrayList,也为

我以为我学懂了数据结构,直到看了这个导图才发现,我错了

数据结构与算法思维导图

String s = new String(" a ") 到底产生几个对象?

老生常谈的一个梗,到2020了还在争论,你们一天天的,哎哎哎,我不是针对你一个,我是说在座的各位都是人才! 上图红色的这3个箭头,对于通过new产生一个字符串(”宜春”)时,会先去常量池中查找是否已经有了”宜春”对象,如果没有则在常量池中创建一个此字符串对象,然后堆中再创建一个常量池中此”宜春”对象的拷贝对象。 也就是说准确答案是产生了一个或两个对象,如果常量池中原来没有 ”宜春” ,就是两个。...

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

和黑客斗争的 6 天!

互联网公司工作,很难避免不和黑客们打交道,我呆过的两家互联网公司,几乎每月每天每分钟都有黑客在公司网站上扫描。有的是寻找 Sql 注入的缺口,有的是寻找线上服务器可能存在的漏洞,大部分都...

讲一个程序员如何副业月赚三万的真实故事

loonggg读完需要3分钟速读仅需 1 分钟大家好,我是你们的校长。我之前讲过,这年头,只要肯动脑,肯行动,程序员凭借自己的技术,赚钱的方式还是有很多种的。仅仅靠在公司出卖自己的劳动时...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

玩转springboot启动banner定义所得

最近接手了一个springboot项目,不是不熟悉这个框架,启动时打印的信息吸引了我。 这不是我熟悉的常用springboot的打印信息啊,我打开自己的项目: 还真是的,不用默认的感觉也挺高大上的。一时兴起,就去研究了一下源代码,还正是有些收获,稍后我会总结一下。正常情况下做为一个老程序员,是不会对这种小儿科感兴趣的,不就是一个控制台打印嘛。哈哈! 于是出于最初的好奇,研究了项目的源代码。看到

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试:第十六章:Java中级开发(16k)

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

终于懂了TCP和UDP协议区别

终于懂了TCP和UDP协议区别

你打算用Java 8一辈子都不打算升级到Java 14,真香

我们程序员应该抱着尝鲜、猎奇的心态,否则就容易固步自封,技术停滞不前。

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

《经典算法案例》01-08:如何使用质数设计扫雷(Minesweeper)游戏

我们都玩过Windows操作系统中的经典游戏扫雷(Minesweeper),如果把质数当作一颗雷,那么,表格中红色的数字哪些是雷(质数)?您能找出多少个呢?文中用列表的方式罗列了10000以内的自然数、质数(素数),6的倍数等,方便大家观察质数的分布规律及特性,以便对算法求解有指导意义。另外,判断质数是初学算法,理解算法重要性的一个非常好的案例。

立即提问
相关内容推荐