小编Rob*_*scu的帖子

Android Studio 3.0中的AndroidManifest.xml问题

我最近从Canary频道安装了Android Studio 3.0.但是,加载我的旧项目时,会继续弹出AndroidManifest.xml文件,该文件根据构建变量自动生成:

Error:(49) unknown element <uses-sdk> found

这也显示:

Error:/home/computername/AndroidStudioProjects/applicationname/app/build/intermediates/manifests/full/release/AndroidManifest.xml:49 unknown element <uses-sdk> found

不用说,这不是Android Studio 2.3中的问题.关于如何解决这个问题的任何想法?我在这里读过一些类似的问题,但没有解决我的问题.顺便说一句 - 如果我将构建变量设置为调试或发布并不重要,它说同样的事情.此外,"R"类不起作用,如果我将鼠标悬停在manifest xmlns:android="http://schemas.android.com/apk/res/android声明上,则表示"URI未注册".

同样,项目结构根本没有改变,我只升级到Android Studio 3.0.

谢谢!

这是该/src/main文件夹下的AndroidManifest.xml文件,完全正常.问题在于文件/app/build/intermediates/manifests/full夹中生成的AndroidManifest.xml文件- 这些是破坏我的应用程序的文件.

 <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.domain.appname">`

        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:supportsRtl="true"
            android:theme="@style/AppTheme">
            <activity android:name=".view.MainActivity"
                android:noHistory="true">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />

                    <category android:name="android.intent.category.LAUNCHER" />
                </intent-filter>
            </activity>
            <activity
                android:name=".view.TabbedActivity"
                android:label="@string/app_name"
                android:theme="@style/AppTheme.NoActionBar"
                android:screenOrientation="landscape"
                android:configChanges="keyboardHidden|orientation|screenSize"
                android:noHistory="true">

            </activity>
        </application>

        <!-- PROTECTION_NORMAL permissions, automatically granted -->
        <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
        <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
        <uses-permission android:name="android.permission.INTERNET" /> …
Run Code Online (Sandbox Code Playgroud)

android manifest gradle

10
推荐指数
1
解决办法
4705
查看次数

EntityManagerFactory 关闭,休眠

我最近创建了一个 Web 服务,它使用 Java 中的静态方法从数据库中获取项目列表。

Web 服务完美运行并将 JSON 返回给调用者。但是,它只能工作一次。如果您尝试刷新或发出新请求,我会收到EntityManagerFactory is closed错误消息。

Web Service 类如下所示:

public class WebService extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
    //obtain the list of vehicles from the database
        List<Vehicle> vehicles = ExecuteVehicle.getVehicleList();

        //create the Gson object and generate the Json
        Gson gson = new Gson();
        JsonElement element = gson.toJsonTree(vehicles, new TypeToken<List<Vehicle>>(){}.getType());

        //send the list of vehicles
        JsonArray jsonArray = element.getAsJsonArray();
        resp.setContentType("application/json");
        resp.getWriter().print(jsonArray);
    }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,车辆列表正在使用该ExecuteVehicle.getVehicleList()方法进行填充。 …

java web-services hibernate jpa entitymanager

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

在 Android 上从照片 URI 创建文件

我有一个 Android 应用程序,需要让用户从图库中选择一些图片并将这些图片发送到后端(连同一些其他数据)。

为了允许用户选择图片,我的 Fragment 中有以下内容:

private void pickImages() {
    Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
    intent.setType("image/*");
    intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true);
    startActivityForResult(intent, PICK_PHOTO_FOR_AVATAR);
}
Run Code Online (Sandbox Code Playgroud)

我在这里得到用户所选照片的​​结果:

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == PICK_PHOTO_FOR_AVATAR && resultCode == Activity.RESULT_OK) {
        if (data == null) {
            //Display an error
            Toast.makeText(getActivity(), "There was an error getting the pictures", Toast.LENGTH_LONG).show();
            return;
        }

        ClipData clipData = data.getClipData();
        String fileName = null, extension = null;

        //if ClipData is null, then we …
Run Code Online (Sandbox Code Playgroud)

java android photo file multipart

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

获取java中方法的变量参数的数量

请注意以下潜在的愚蠢问题:

我有一个方法,使用String.format()方法格式化一些文本.目前,它接收两个参数,所以我有两个"%s"参数来创建我想要的任何文本.

但有人可能想用我的方法使用3个参数,或4或100.如何将传递的参数的长度作为varargs获取到String.format()方法的长度,以便在传递3个参数的情况下,将有3个"%s"而不是当前的2个; 或4或100.

如何获取传递给String.format()方法的参数数量,以便其中的文本根据需要自动添加"%s"?因为参数只是作为常规参数传递,而不是作为数组或类似的传递.如何获取参数数组的长度?

PS.这很重要 - 我不是在谈论获取(String ...参数) - 没有这样的事情 - 当有人调用你的方法时,它使用实际参数,"String ... arguments"不可用于抓取和获得它的长度.

我意识到这是一个制定得很糟糕的问题,因为我没有在我面前的代码进一步解释,但这已经困扰了我很长一段时间 - 你如何获得传递给方法的参数数量?

对于这样的事情:

String.format(SomeObject.SomeString, param1, param2,...,param 100)
Run Code Online (Sandbox Code Playgroud)

编辑:SomeObject.SomeString声明如下:

String SomeString = "Blah blah %s blah blah blah %s";

所以它有两个正在硬编码的参数.

当有人使用它时,你如何自定义SomeObject.SomeString以便"知道"已经将多少参数传递给String.format()方法(以便SomeObject.SomeString知道动态添加多少%s)?

java string.format variadic-functions

-1
推荐指数
2
解决办法
5265
查看次数