小编Shu*_*udy的帖子

在Android Studio中更改作者模板

我想更改在AndroidStudio中创建文件时出现的自动作者.

/**
 * Created by a556520 on 16/01/14.
 */
public class POI {
Run Code Online (Sandbox Code Playgroud)

作者采用'a556520',但我希望这看起来是我的名字,而不是员工的数量.那可能吗?我没有在设置中找到.

java android javadoc android-studio

144
推荐指数
7
解决办法
7万
查看次数

如何在Android工具栏中使用SearchView

我正在使用的代码是使用Toolbar和膨胀a menu.

这是代码

private Toolbar mToolbar;
mToolbar.inflateMenu(R.menu.chat_screen_menu);
setupMenu ();
private void setupMenu ()
   {
   mMenu = mToolbar.getMenu();
   if (mMenu != null)
      {
       if (mChatPager != null && mChatPager.getCurrentItem() > 0)
          {
          mMenu.setGroupVisible(R.id.menu_group_chats, true);
          mMenu.setGroupVisible(R.id.menu_group_contacts, false);
          }
       else
          {
           mMenu.setGroupVisible(R.id.menu_group_chats, false);
           mMenu.setGroupVisible(R.id.menu_group_contacts, true);
           mMenu.setGroupVisible(R.id.menu_group_otr_verified,false);
           mMenu.setGroupVisible(R.id.menu_group_otr_unverified,false);
           mMenu.setGroupVisible(R.id.menu_group_otr_off,false);
          }
    }
    mToolbar.setOnMenuItemClickListener(new OnMenuItemClickListener ()
    {
    ..........
    }
}
Run Code Online (Sandbox Code Playgroud)

但现在,他们需要一个Search按钮tool_bar.我设法说出来了,我在这里按照指南 当我尝试写一些东西进行搜索时,我已经测试listener过的东西来测试从未显示过的东西.表示listener不起作用

@Override
    public boolean onCreateOptionsMenu(Menu menu) {

    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.chat_screen_menu, …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar searchview android-toolbar

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

GoogleMaps v2 Android的我的位置按钮,未显示

我正在使用谷歌地图做一个应用程序,但当我尝试添加"我的位置"按钮,因为参考说不起作用...

多数民众赞成我怎么做:

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

        map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();

        locManager = (LocationManager)getSystemService(LOCATION_SERVICE);
        providersList = locManager.getAllProviders();
        provider =locManager.getProvider(providersList.get(0));
        precision = provider.getAccuracy();
        req = new Criteria();
        req.setAccuracy(Criteria.ACCURACY_FINE);        
        inside = false;

        map.getUiSettings().setMyLocationButtonEnabled(true);

        buildPolygon();
        drawPolygon();
        startLocalization();
    }
Run Code Online (Sandbox Code Playgroud)

我用map.getUiSettings().setMyLocationButtonEnabled(true);谷歌的参考作为节目.我不知道发生了什么......

java android google-maps

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

没有找到与包名称“....”匹配的具有不同构建变量的客户端

我想要实现推送通知。我添加到项目级别:

dependencies {
        classpath 'com.android.tools.build:gradle:2.2.2'
        classpath 'com.google.gms:google-services:3.0.0'
}
Run Code Online (Sandbox Code Playgroud)

并到应用程序级别:(在文件底部)

   ....
   compile 'com.squareup.okhttp3:okhttp:3.3.0'
}
apply plugin: 'com.google.gms.google-services'
Run Code Online (Sandbox Code Playgroud)

然后我将 google-services.json 文件添加到应用程序级别的项目中

但是,当我同步 gradle 时,它​​会启动错误:

No matching client found for package name "...." 
Run Code Online (Sandbox Code Playgroud)

在 gradle 中,我有 2 个不同的构建变体,看起来像:

在此处输入图片说明

显现:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="es.xxx.awsomeapp">

    <uses-permission android:name="android.permission.INTERNET"/>

    <application
        android:name=".realm.XXXXXX"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher_chv"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
Run Code Online (Sandbox Code Playgroud)

最后是gradle:

apply plugin: 'com.android.application'
apply plugin: 'realm-android'

repositories {
    maven { url 'https://oss.sonatype.org/content/repositories/snapshots' }
    maven { url "https://s3.amazonaws.com/repo.commonsware.com" }
    maven { url "https://jitpack.io" }
    maven { url 'http://dl.bintray.com/amulyakhare/maven' }
    mavenCentral()
} …
Run Code Online (Sandbox Code Playgroud)

java android json kotlin firebase

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

具有双坐标的多边形

我有一些关于具有Double类型点的多边形的问题...我需要做什么,给出点,创建多边形,然后测试1个具体点是否在多边形内部.

所以我知道在Java中有一个叫做Polygon的类,就像这样使用:(三角形)

int valoresX[] = { 100, 150, 200 };
int valoresY[] = { 100, 200, 100 };
int n = valoresX.length;
Polygon city= new Polygon(valoresX,valoresY,n);
Run Code Online (Sandbox Code Playgroud)

但我的"多边形"必须是"双"类型,而不是"int"(简单示例)

Double valoresX[] = { 1000.10, 150.10, 200.10 };
Double valoresY[] = { 100.10, 200.10, 100.10 };
Run Code Online (Sandbox Code Playgroud)

在我的项目中我真的不需要在applet或类似的东西上绘制它,我只需要计算点是否在内部.

所以我的问题是:

有没有办法用双坐标做多边形,如果点(双)在多边形内是否允许进行计算?

谢谢大家!

Shudy

java double polygon

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

禁用客户端对搜索栏的更改

我有一个SeekBar会在我需要时更改进度,但我不希望用户能够手动更改它.

我试着将SeekBar设置为:

<SeekBar
        android:id="@+id/seekBar1"
        android:layout_width="match_parent"
        android:layout_height="65dp"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="78dp"
        android:progress="10"
        android:max="100"
        android:clickable="false"
        android:thumb="@drawable/transparent"
        android:progressDrawable="@drawable/customprogressbar" />
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

我怎样才能做到这一点?


这或多或少是客户端如何看待这一点的一个例子.

我使用了自定义样式,因为将来我需要根据SeekBar的哪个部分更改背景图像和进度.

谢谢大家!

请求者没有给出描述

android custom-controls seekbar

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

ActionBarCompat中的项目始终显示在溢出中

我在我的应用程序中使用ActionBarCompat,我想在操作栏中显示一个或两个项目

我接下来是谷歌开发人员的指南,但是当我测试它时,项目显示在"溢出"选项(在Nexus 4中)并且如果存在则点击菜单按钮(例如Galaxy S3)

我做错了什么?

找到解决方案

你可以在答案中找到它.

android menu android-actionbar

18
推荐指数
1
解决办法
1986
查看次数

领域从错误的线程访问

我有一个应用程序LoginActivity,当用户正确登录时,我注册接收消息.而且LoginActivity跳到了MainActivity.到达的消息应该存储在数据库(Realm)中,以便从Main中的Realm实例中恢复.

但是当消息到达时崩溃领域启动此错误:

Exception in packet listener
    java.lang.IllegalStateException: Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created.
    at io.realm.BaseRealm.checkIfValid(BaseRealm.java:383)
    at io.realm.Realm.executeTransactionAsync(Realm.java:1324)
    at io.realm.Realm.executeTransactionAsync(Realm.java:1276)
    at es.in2.in2tant.LoginActivity.newMessageReceived(LoginActivity.java:124)
    at es.in2.in2tant.Connection.Connection$4$1.processMessage(Connection.java:227)
    at org.jivesoftware.smack.chat.Chat.deliver(Chat.java:180)
    at org.jivesoftware.smack.chat.ChatManager.deliverMessage(ChatManager.java:351)
    at org.jivesoftware.smack.chat.ChatManager.access$300(ChatManager.java:53)
    at org.jivesoftware.smack.chat.ChatManager$2.processPacket(ChatManager.java:162)
    at org.jivesoftware.smack.AbstractXMPPConnection$4.run(AbstractXMPPConnection.java:1126)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
    at java.lang.Thread.run(Thread.java:818)
Run Code Online (Sandbox Code Playgroud)

我对Realm如何工作有点迷茫,我不知道如何在没有崩溃的情况下在整个应用程序中访问域,并保持存储从收到的消息LoginActivity.一些帮助,或实现这一目标的方法?

LoginActivity.java:

public class LoginActivity extends AppCompatActivity implements ConnectionConnectResponse {
.....
protected void onCreate(Bundle savedInstanceState) {
//Realm Init config:
        Realm.init(this);
        RealmConfiguration …
Run Code Online (Sandbox Code Playgroud)

android realm

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

Android中多边形点的测试

前几天我用Java编写了一个类来计算a point(X,Y)是否在多边形内部.(XYdouble的,因为将地理坐标).

我知道,Java有类Polygon,但我不得不使用Path2DPoint2D,因为Polygon不允许double的,只是整数:(

一旦我完成了多边形Path2D,我就使用了方法contains(Path2D有了它),我的问题就解决了.

但现在,我想导入到Android,问题出在这里,因为Path2D需要导入:

import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
Run Code Online (Sandbox Code Playgroud)

并且在Android中不存在awt,所以我无法使用.

那么,有没有类似于Path2D那种contains方法的类?或者我必须自己计算?

以下是我在Java中使用的方法Path2D:

private void ConstructPolygon(Vector<Point2D> coodinates)
{       
    this.polygon.moveTo(coodinates.get(0).getX(), coodinates.get(0).getY());        

    //System.out.println(coodinates.get(0).getX() + "   " + coodinates.get(0).getY());
    //System.out.println("asda");

    for(int i = 1; i < this.num_points; i++)
    {
        //System.out.println(coodinates.get(i).getX() + "   " + coodinates.get(i).getY());
        this.polygon.lineTo(coodinates.get(i).getX(), coodinates.get(i).getY());
    }
    this.polygon.closePath();
}
public boolean InsideCity(Point2D …
Run Code Online (Sandbox Code Playgroud)

java android point polygon

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

使用深层链接从另一个启动应用程序

我正在开发两个应用程序 A 和 B,我希望将它们与深层链接相互关联。

应用 B 有一个像下面这样的深层链接: myApp://open/myAction?param=123

看起来像:

<!-- Update myAction deep link -->
<intent-filter android:label="@string/launcherName">

    <action android:name="android.intent.action.VIEW" />

    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE />
    <data
        android:host="open/*"
        android:scheme="myApp" />
</intent-filter>
Run Code Online (Sandbox Code Playgroud)

如果我使用 adb 启动应用程序,它就完美无缺。

现在,当用户单击 Activity A 中的按钮时,我正在尝试启动应用程序 B。

单击按钮时,我尝试了此操作(在:GoogleDeveloper 中找到)(OnClickListener

// Build the intent
Uri myAction = Uri.parse(mEditText.getText().ToString()); // is something like: `myApp://open/myAction?param=1AD231XAs`
Intent mapIntent = new Intent(Intent.ACTION_VIEW, myAction);

// Verify it resolves
PackageManager packageManager = getPackageManager();
List<ResolveInfo> activities = packageManager.queryIntentActivities(mapIntent, 0);
boolean isIntentSafe = …
Run Code Online (Sandbox Code Playgroud)

android deep-linking android-intent

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