Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android.view.InflateException二进制XML文件行#11膨胀类片段时出错_Android_Mysql_Google Maps_Android Fragments - Fatal编程技术网

android.view.InflateException二进制XML文件行#11膨胀类片段时出错

android.view.InflateException二进制XML文件行#11膨胀类片段时出错,android,mysql,google-maps,android-fragments,Android,Mysql,Google Maps,Android Fragments,您好,我对谷歌地图v2有问题 当我启动这个项目时,我在这个应用程序的log cat中找到了这个,我尝试将用户位置存储在mysql数据库中 Target SDK : API 18: Android 4.3 Compile With: API 18: Android 4.3 错误日志: 05-07 14:35:30.947: W/dalvikvm(1206): threadid=1: thread exiting with uncaught exception (group=0xb2a74ba8)

您好,我对
谷歌地图v2
有问题

当我启动这个项目时,我在这个应用程序的log cat中找到了这个,我尝试将用户位置存储在
mysql
数据库中

Target SDK : API 18: Android 4.3
Compile With: API 18: Android 4.3
错误日志:

05-07 14:35:30.947: W/dalvikvm(1206): threadid=1: thread exiting with uncaught exception (group=0xb2a74ba8)
05-07 14:35:30.967: E/AndroidRuntime(1206): FATAL EXCEPTION: main
05-07 14:35:30.967: E/AndroidRuntime(1206): Process: in.wptrafficanalyzer.locationmarkermysql, PID: 1206
05-07 14:35:30.967: E/AndroidRuntime(1206): java.lang.RuntimeException: Unable to start activity ComponentInfo{in.wptrafficanalyzer.locationmarkermysql/in.wptrafficanalyzer.locationmarkermysql.MainActivity}: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.app.ActivityThread.access$800(ActivityThread.java:135)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.os.Handler.dispatchMessage(Handler.java:102)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.os.Looper.loop(Looper.java:136)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.app.ActivityThread.main(ActivityThread.java:5017)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at java.lang.reflect.Method.invokeNative(Native Method)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at java.lang.reflect.Method.invoke(Method.java:515)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at dalvik.system.NativeStart.main(Native Method)
05-07 14:35:30.967: E/AndroidRuntime(1206): Caused by: android.view.InflateException: Binary XML file line #11: Error inflating class fragment
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:290)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.app.Activity.setContentView(Activity.java:1929)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at in.wptrafficanalyzer.locationmarkermysql.MainActivity.onCreate(MainActivity.java:35)
05-07 14:35:30.967: E/AndroidRuntime(1206):     at android.app.Activity.performCreate(Activity.java:5231)
MainActivity.java

package in.wptrafficanalyzer.locationmarkermysql;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.HashMap;
import java.util.List;

import org.json.JSONException;
import org.json.JSONObject;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;

import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.GoogleMap.OnMapClickListener;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import com.google.android.gms.maps.model.MarkerOptions;

public class MainActivity extends FragmentActivity {

    GoogleMap mGoogleMap;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Getting reference to SupportMapFragment
        SupportMapFragment fragment = (SupportMapFragment) getSupportFragmentManager()
                .findFragmentById(R.id.map);

        // Creating GoogleMap from SupportMapFragment
        mGoogleMap = fragment.getMap();

        // Enabling MyLocation button for the Google Map
        mGoogleMap.setMyLocationEnabled(true);

        // Setting OnClickEvent listener for the GoogleMap
        mGoogleMap.setOnMapClickListener(new OnMapClickListener() {
            @Override
            public void onMapClick(LatLng latlng) {
                addMarker(latlng);
                sendToServer(latlng);
            }
        });

        // Starting locations retrieve task
        new RetrieveTask().execute();

    }

    // Adding marker on the GoogleMaps
    private void addMarker(LatLng latlng) {
        MarkerOptions markerOptions = new MarkerOptions();
        markerOptions.position(latlng);
        markerOptions.title(latlng.latitude + "," + latlng.longitude);
        mGoogleMap.addMarker(markerOptions);
    }

    // Invoking background thread to store the touched location in Remove MySQL server
    private void sendToServer(LatLng latlng) {
        new SaveTask().execute(latlng);
    }


    // Background thread to save the location in remove MySQL server
    private class SaveTask extends AsyncTask<LatLng, Void, Void> {
        @Override
        protected Void doInBackground(LatLng... params) {
            String lat = Double.toString(params[0].latitude);
            String lng = Double.toString(params[0].longitude);
            String strUrl = "http://10.0.2.2/location_marker_mysql/save.php";                   
            URL url = null;
            try {
                url = new URL(strUrl);

                HttpURLConnection connection = (HttpURLConnection) url
                        .openConnection();
                connection.setRequestMethod("POST");
                connection.setDoOutput(true);
                OutputStreamWriter outputStreamWriter = new OutputStreamWriter(
                        connection.getOutputStream());

                outputStreamWriter.write("lat=" + lat + "&lng="+lng);               
                outputStreamWriter.flush();
                outputStreamWriter.close();

                InputStream iStream = connection.getInputStream();
                BufferedReader reader = new BufferedReader(new
                InputStreamReader(iStream));

                StringBuffer sb = new StringBuffer();

                String line = "";

                while( (line = reader.readLine()) != null){
                    sb.append(line);
                }

                reader.close();
                iStream.close();


            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

            return null;
        }

    }

    // Background task to retrieve locations from remote mysql server
    private class RetrieveTask extends AsyncTask<Void, Void, String>{

        @Override
        protected String doInBackground(Void... params) {
            String strUrl = "http://10.0.2.2/location_marker_mysql/retrieve.php";               
            URL url = null;
            StringBuffer sb = new StringBuffer();
            try {
                url = new URL(strUrl);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.connect();
                InputStream iStream = connection.getInputStream();              
                BufferedReader reader = new BufferedReader(new InputStreamReader(iStream));         
                String line = "";               
                while( (line = reader.readLine()) != null){
                    sb.append(line);
                }

                reader.close();
                iStream.close();                            

            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }       
            return sb.toString();
        }

        @Override
        protected void onPostExecute(String result) {           
            super.onPostExecute(result);
            new ParserTask().execute(result);
        }

    }

    // Background thread to parse the JSON data retrieved from MySQL server
    private class ParserTask extends AsyncTask<String, Void, List<HashMap<String, String>>>{
        @Override
        protected List<HashMap<String,String>> doInBackground(String... params) {
            MarkerJSONParser markerParser = new MarkerJSONParser();
            JSONObject json = null;
            try {
                json = new JSONObject(params[0]);
            } catch (JSONException e) {
                e.printStackTrace();
            }
            List<HashMap<String, String>> markersList = markerParser.parse(json);
            return markersList;
        }

        @Override
        protected void onPostExecute(List<HashMap<String, String>> result) {
            for(int i=0; i<result.size();i++){
                HashMap<String, String> marker = result.get(i);
                LatLng latlng = new LatLng(Double.parseDouble(marker.get("lat")), Double.parseDouble(marker.get("lng")));
                addMarker(latlng);
            }
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
}
你失踪了

<meta-data     
android:name="com.google.android.gms.version"  
android:value="@integer/google_play_services_version" />

对于您的片段..

已修复…将此权限添加到manifest.xml

< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<使用权限android:name=“android.permission.ACCESS\u NETWORK\u STATE”/

main活动的第35行是什么?这就是您设置内容视图或尝试初始化地图片段的地方吗?您的清单中缺少
。请尝试添加它。。
class = "com.google.android.gms.maps.SupportMapFragment"
< uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />