小编Joo*_*lah的帖子

如何在OSX上编辑$ PATH(.bash_profile)?

我正在尝试编辑PATH的一个条目,因为我做错了.

我使用的是Mac OS X 10.10.3

我试过了:

> touch ~/.bash_profile; open ~/.bash_profile
Run Code Online (Sandbox Code Playgroud)

但文件编辑器打开时没有任何内容.

我的问题:

我正在尝试将ANDROID_HOME安装到我的PATH

我把它拼错了,但是当我关闭终端然后回去时它已经不见了,所以我再试一次:

export ANDROID_HOME=/<installation location>/android-sdk-macosx
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
Run Code Online (Sandbox Code Playgroud)

这次,我正确输入了命令但是,当我关闭终端时,我的设置再次消失.

如何执行我想要的设置?

如果我要编辑bash.profile,我该如何输入上面的代码?

谢谢!

macos bash terminal path osx-yosemite

151
推荐指数
8
解决办法
48万
查看次数

改造2.0如何打印完整的json响应?

我现在从Volley转到Retrofit 2.0版本.

如何打印完整的json响应代码?

包括:

compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
Run Code Online (Sandbox Code Playgroud)

RestClient:

OkHttpClient client = new OkHttpClient();
        client.interceptors().add(new Interceptor() {
            @Override
            public Response intercept(Interceptor.Chain chain) throws IOException {
                Response response = chain.proceed(chain.request());                
                return response;
            }
        });


        Gson gson = new GsonBuilder()
                .setDateFormat("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'SSS'Z'")
                .create();


        Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(ROOT)
                .addConverterFactory(GsonConverterFactory.create(gson))
                .client(client)
                .build();

        REST_CLIENT = retrofit.create(APIService.class);
Run Code Online (Sandbox Code Playgroud)

APIService:

   @GET("my/json")
    Call<Model> getFeed();
Run Code Online (Sandbox Code Playgroud)

在活动中 - 调用API:

Call<Model> call = RestClient.get().getFeed();
call.enqueue(new Callback<Model>() {
    @Override
    public void onResponse(Response<Model> response, Retrofit retrofit) {

        Log.w("2.0 getFeed …
Run Code Online (Sandbox Code Playgroud)

java android http android-activity retrofit

40
推荐指数
5
解决办法
4万
查看次数

不推荐使用Android setOnMyLocationChangeListener

Android Google Map的setOnMyLocationChangeListener方法现已弃用.有谁知道如何绕过它?谢谢.

java android google-maps android-maps-v2

17
推荐指数
1
解决办法
1万
查看次数

Android如何编辑Fragment中的操作栏菜单

我创建了一个使用Fragment的应用程序.从我的MainActivity中我设置了ActionBar.

但在我的一个片段中,我需要修改动作图标并单击.

所以使用下面的代码,当我加载我的片段时,它仍然显示MainActivity的操作栏菜单

这是我的MainActivity:

public void restoreActionBar() {
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
    actionBar.setDisplayShowTitleEnabled(true);
    actionBar.setTitle(mTitle);

    // enable ActionBar app icon to behave as action to toggle nav drawer
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setHomeButtonEnabled(true);

}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    if (!mNavigationDrawerFragment.isDrawerOpen()) {
        // Only show items in the action bar relevant to this screen
        // if the drawer is not showing. Otherwise, let the drawer
        // decide what to show in the action bar.
        getMenuInflater().inflate(R.menu.main, menu);


        //Handle the Search Menu
        SearchView searchView = (SearchView) MenuItemCompat.getActionView(menu.findItem(R.id.action_search));
        searchView.setQueryHint(this.getString(R.string.action_search)); …
Run Code Online (Sandbox Code Playgroud)

java android android-layout android-fragments android-actionbar

15
推荐指数
1
解决办法
2万
查看次数

Android检查WIFI状态(断开连接或用户更改WIFI)如何标记FLAG?

如果WIFI连接断开/断开或用户实际更改了WIFI网络,我有没有办法标记?

我需要我的应用程序:连接到WIFI XYZ,如果XYZ断开连接(FLAG 1)或掉线然后重新连接到XYZ.但是用户是否更改为另一个wifi BTOpen(FLAG 2)然后允许连接和停止我的服务.如果用户再次连接到XYZ,则再次启动循环.

到目前为止我得到的是:

    <!-- WIFI Receiver -->
    <receiver android:name=".ReceiverWifi" >
        <intent-filter>
            <action android:name="android.net.wifi.WIFI_STATE_CHANGED" />
            <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
        </intent-filter>
    </receiver>
    <service android:name=".ServiceWifiMonitor" />
    <receiver android:name=".ServiceController" >
        <intent-filter >
            <action   android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.action.QUICKBOOT_POWERON" />
        </intent-filter>
    </receiver>
Run Code Online (Sandbox Code Playgroud)

广播接收器:

    myApplication = (MyApplication) context.getApplicationContext();
    conManager  = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
    wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
    networkInfo = conManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);


    boolean isConnected = networkInfo != null && networkInfo.isConnected();
    int reconnectedCount = myApplication.getReconnectedCount();


    if (wifiManager.isWifiEnabled()) {


        if("android.net.conn.CONNECTIVITY_CHANGE".equals(intent.getAction())) {


            //Start and Stop Service
            if(myApplication.isReconnect()) startServiceWifiMonitor(); else stopServiceWifiMonitor(); …
Run Code Online (Sandbox Code Playgroud)

java multithreading android wifi android-service

13
推荐指数
1
解决办法
4185
查看次数

无法解决:com.google.android.gms:play-services-gcm:7.5.+

我想在我的应用程序中包含GCM.

我一直收到此错误消息:

无法解决:com.google.android.gms:play-services-gcm:7.5.+ | 安装存储库和同步项目| 在Project Structure对话框中显示

如果我尝试安装存储库和同步项目,我会收到此错误:

加载SDK信息...忽略未知的包过滤器'extra-google-m2repository'警告:包过滤器删除了所有包.没有什么可以安装的.请考虑在没有包过滤器的情况下再次尝试更新.

这是我的gradle文件:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

android {
    compileSdkVersion 22
    buildToolsVersion "22.0.1"
    ...

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        compile 'com.android.support:appcompat-v7:22.2.1'
        compile 'com.google.android.gms:play-services-gcm:7.5.+'
Run Code Online (Sandbox Code Playgroud)

//顶级构建文件,您可以在其中添加所有子项目/模块共有的配置选项.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.2.3'
        classpath 'com.google.gms:google-services:1.3+'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}
Run Code Online (Sandbox Code Playgroud)

java notifications android google-cloud-messaging

11
推荐指数
2
解决办法
2万
查看次数

Android - 10000ms后无法连接到settings.crashlytics.com/54.83.49.38(端口443)

我在我的Android应用程序中使用fabric.io SDK.

它不起作用.在Android Studio Logcat中出现此错误消息:

E/Fabric? Unknown error while loading Crashlytics settings. Crashes will be cached until settings can be retrieved.
    io.fabric.sdk.android.services.network.HttpRequest$HttpRequestException: java.net.SocketTimeoutException: failed to connect to settings.crashlytics.com/54.83.49.38 (port 443) after 10000ms
            at io.fabric.sdk.android.services.network.HttpRequest.code(HttpRequest.java:1409)
            at io.fabric.sdk.android.services.settings.DefaultSettingsSpiCall.handleResponse(DefaultSettingsSpiCall.java:96)
            at io.fabric.sdk.android.services.settings.DefaultSettingsSpiCall.invoke(DefaultSettingsSpiCall.java:83)
            at io.fabric.sdk.android.services.settings.DefaultSettingsController.loadSettingsData(DefaultSettingsController.java:80)
            at io.fabric.sdk.android.services.settings.DefaultSettingsController.loadSettingsData(DefaultSettingsController.java:64)
            at io.fabric.sdk.android.services.settings.Settings.loadSettingsData(Settings.java:156)
            at io.fabric.sdk.android.Onboarding.retrieveSettingsData(Onboarding.java:123)
            at io.fabric.sdk.android.Onboarding.doInBackground(Onboarding.java:99)
            at io.fabric.sdk.android.Onboarding.doInBackground(Onboarding.java:45)
            at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:63)
            at io.fabric.sdk.android.InitializationTask.doInBackground(InitializationTask.java:28)
            at io.fabric.sdk.android.services.concurrency.AsyncTask$2.call(AsyncTask.java:311)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
            at java.util.concurrent.FutureTask.run(FutureTask.java:237)
            at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
            at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
            at java.lang.Thread.run(Thread.java:818)
     Caused by: java.net.SocketTimeoutException: failed to connect to settings.crashlytics.com/54.83.49.38 (port 443) after 10000ms …
Run Code Online (Sandbox Code Playgroud)

java sdk android crashlytics

9
推荐指数
1
解决办法
8728
查看次数

Android http连接OkHttp不工作

我正在尝试使用OkHttp,但它一直在崩溃.有人可以快速查看,看看你是否知道发生了什么.谢谢.

原木猫:

01-24 08:34:46.952: E/AndroidRuntime(31953): FATAL EXCEPTION: OkHttp Dispatcher
01-24 08:34:46.952: E/AndroidRuntime(31953): java.lang.NoClassDefFoundError: okio.Okio
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.internal.http.HttpConnection.<init>(HttpConnection.java:87)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.Connection.upgradeToTls(Connection.java:272)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.Connection.connect(Connection.java:158)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.Connection.connectAndSetOwner(Connection.java:174)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.OkHttpClient$1.connectAndSetOwner(OkHttpClient.java:120)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.internal.http.RouteSelector.next(RouteSelector.java:131)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:312)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:235)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.Call.getResponse(Call.java:262)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:219)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:192)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.Call.access$100(Call.java:34)
01-24 08:34:46.952: E/AndroidRuntime(31953):    at com.squareup.okhttp.Call$AsyncCall.execute(Call.java:156)
01-24 …
Run Code Online (Sandbox Code Playgroud)

java android http android-activity okhttp

8
推荐指数
1
解决办法
1万
查看次数

Android WebSocket服务进行多个连接

我创建了一个Web Socket服务.但它保持多重连接

我只是希望应用程序建立一个连接,除非网络连接丢失然后再建立另一个连接.但是现在,如果按下手机上的主页按钮,它会建立一个连接.并返回应用程序,它将进行另一个连接.

谢谢你的帮助.

onCreate ...我的MainActivity

Intent startServiceIntent = new Intent(this, WebSocketServices.class);
        startService(startServiceIntent);
Run Code Online (Sandbox Code Playgroud)

表现

<!-- WebSocket -->
<receiver 
    android:name="com.example.basicplayerapp.core.NetworkReceiver">
   <intent-filter >
       <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
       <action android:name="android.intent.action.BOOT_COMPLETED" />
   </intent-filter> 
</receiver>
<service android:name="com.example.basicplayerapp.core.WebSocketServices"></service>
Run Code Online (Sandbox Code Playgroud)

NetworkReceiver

public class NetworkReceiver extends BroadcastReceiver {
    public static final String TAG = HomeActivity.class.getSimpleName();

    @Override
    public void onReceive(Context context, Intent intent) {         
        ConnectivityManager conn =  (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo networkInfo = conn.getActiveNetworkInfo();

        if (networkInfo != null && networkInfo.getDetailedState() == NetworkInfo.DetailedState.CONNECTED) {
            Log.i(TAG, "connected");

            Intent startServiceIntent = new Intent(context, WebSocketServices.class);
            context.startService(startServiceIntent); …
Run Code Online (Sandbox Code Playgroud)

java apache performance android websocket

8
推荐指数
1
解决办法
3041
查看次数

返回的KnoxVpnUidStorageknoxVpnSupported API值为false

我正在尝试使用Android Studio在我的Android应用上设置AdColony.

我第一次启动应用程序并使用SDK它工作正常.当我退出应用程序并返回时,它会进入白色屏幕并冻结.

这是它在logcat中输出的消息.

返回的KnoxVpnUidStorageknoxVpnSupported API值为false

以前有人遇到过这个吗?谢谢

java sdk android ads adcolony

8
推荐指数
1
解决办法
7586
查看次数