我有一个文件夹,里面装满了需要转换为 pdf 的图像文件。我使用 wget 下载它们。问题是 linux 给出的文件排序并不是页面的实际顺序,这是文件排序的示例:
100-52b69f4490.jpg
101-689eb36688.jpg
10-1bf275d638.jpg
102-6f7dc2def9.jpg
103-2da8842faf.jpg
104-9b01a64111.jpg
105-1d5e3862d8.jpg
106-221412a767.jpg
...
Run Code Online (Sandbox Code Playgroud)
我可以使用 imagemagick 将这些图像转换为 pdf,命令如下
convert *.jpg output.pdf
但它会按照上述顺序将页面放入该 pdf 中,而不是按照人类可读的数字顺序 1-blahblahblah.jpg、2-blahblahblah.jpg、3-blahblahblah.jpg 等。
执行此操作的最简单方法是通过管道转换排序的输出吗?或者在我将每个文件添加到 pdf 文件时通过管道将其添加到 wget 中?
我正在尝试创建一个滑动抽屉。我花了永远让我的导入匹配我的代码,在 getSupportActionBar 与 getActionBar 等方面,我怀疑问题出在 activity_main.xml 中的某个地方,但我不知道在那里放什么。
主活动.java
package me.paxana.alerta;
import android.app.Activity;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.FragmentManager;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarDrawerToggle;
import android.app.Fragment;
import android.content.Intent;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.MenuInflater;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.support.v7.app.ActionBarActivity;
import android.support.v7.widget.Toolbar;
import com.parse.ParseUser;
import java.util.ArrayList;
import java.util.List;
import butterknife.Bind;
import butterknife.ButterKnife;
import me.paxana.alerta.adapter.SlidingMenuAdapter;
import me.paxana.alerta.fragment.Fragment1;
import me.paxana.alerta.fragment.Fragment2;
import me.paxana.alerta.fragment.Fragment3;
import me.paxana.alerta.model.ItemSlideMenu;
public class MainActivity extends …Run Code Online (Sandbox Code Playgroud) 当我为插件Permissions Dispatcher(https://github.com/hotchemi/PermissionsDispatcher)添加依赖项和类路径时,应用程序停止运行,给我这个错误消息
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> java.lang.UnsupportedClassVersionError: permissions/dispatcher/RuntimePermissions : Unsupported major.minor version 52.0
Run Code Online (Sandbox Code Playgroud)
Project Gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.5.0'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
buildscript {
dependencies …Run Code Online (Sandbox Code Playgroud) 我有一个正在阅读配料表的应用程序。至此,我已经检索了2500种最常用成分的列表。因此,我有一个清单,例如10种成分作为字符串,以及2500种成分的列表,其中包含名称和其他属性。如果此字符串列表中的成分与成分列表中成分的名称匹配,我想将其添加到另一个存在的成分列表的第三列表中。我知道如何做到这一点的唯一方法基本上是使用for循环。
我会这样做
fun compareLists(listOfIng: List<String>): List<ListIngredientsQuery.Item> {
var returnList = mutableListOf<ListIngredientsQuery.Item>()
for (ing in listOfIng) {
for (serverIngredient in MyApp.metaIngredientList!!) {
if (serverIngredient.name() == ing) {
returnList!!.add(serverIngredient)
}
}
}
return returnList
}
Run Code Online (Sandbox Code Playgroud)
从技术上讲,这是可行的,但我必须想象有一种比迭代2500多个项目更好,更快的方法,其数量是“成分”列表中“成分”的多次。真正的开发人员喜欢的方式是,这样做的方式。
如果您在包含两个对象的集合上从kotlin-stdlibminBy运行or ,并且最低/最高值并列,则该函数将返回哪一个?maxBy