小编Chr*_*ell的帖子

Android编程布局是否以编程方式?

在iOS中,我非常喜欢删除故事板并使用制图框架将所有内容放在代码中.这是从Cartography的github中偷来的:

constrain(view1, view2) { view1, view2 in
    view1.width   == (view1.superview!.width - 50) * 0.5
    view2.width   == view1.width - 50
    view1.height  == 40
    view2.height  == view1.height
    view1.centerX == view1.superview!.centerX
    view2.centerX == view1.centerX

    view1.top >= view1.superview!.top + 20
    view2.top == view1.bottom + 20
}
Run Code Online (Sandbox Code Playgroud)

Android有什么相同的功能吗?似乎新的Constraint Layout是朝着正确方向迈出的一步,但我想以编程方式进行.

android android-layout

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

对于Listen类型,方法getSystemService(String)是未定义的

我正在尝试检查com.android.music是否正在运行,我在这一行上收到以下错误 this.getSystemService(Context.ACTIVITY_SERVICE);

错误:

对于Listen类型,方法getSystemService(String)是未定义的

码:

public boolean isMusicRunning() {        
    ActivityManager activityManager = (ActivityManager) this.getSystemService(Context.ACTIVITY_SERVICE);
    List<RunningAppProcessInfo> procInfos = activityManager.getRunningAppProcesses();
    for (int i = 0; i < procInfos.size(); i++) {
        if (procInfos.get(i).processName.equals("com.android.music")) {
            Toast.makeText(null, "music is running",
                    Toast.LENGTH_LONG).show();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你能让我知道我在这里做错了什么就会很棒!

android

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

如何更改Android菜单项的自定义字体?

我有以下Android Java和XML代码.我想更改我的应用程序的菜单项的字体.我只知道我们可以使用setTypeface更改TextView的字体,但无论如何都无法找到菜单项.

JAVA代码 - :

@Override
public boolean onCreateOptionsMenu(Menu menu) {    
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return true;
}

@Override    
public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {     
        case R.id.action_refresh1:                                          
            Toast.makeText(this, "Item1 Selected", Toast.LENGTH_SHORT)
            .show();      
        break;

        case R.id.action_refresh2:                                          
            Toast.makeText(this, "Item2 Selected", Toast.LENGTH_SHORT)
            .show();      
            break;

        default:      
            break;
   }
}
Run Code Online (Sandbox Code Playgroud)

XML代码 - :

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/action_refresh1"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:title="Item1"/>

<item
    android:id="@+id/action_refresh2"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:title="Item2"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

我想更改两个菜单项的字体,但不知道如何为菜单项集成settypface.

android menuitem

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

Configuration.GetSection始终返回null

每次调用时Configuration.GetSection,Value返回对象的属性始终为null.

我的Startup构造函数

public Startup(IHostingEnvironment env)
{
    var builder = new ConfigurationBuilder()
        .SetBasePath(env.ContentRootPath)
        .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
        .AddEnvironmentVariables();

    this.Configuration = builder.Build();
}
Run Code Online (Sandbox Code Playgroud)

我的ConfigureServices方法

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<SqliteSettings>(opts => Configuration.GetSection("SqliteSettings").Bind(opts));

    services.AddOptions();

    services.AddMvc();
}
Run Code Online (Sandbox Code Playgroud)

我的 appsettings.json

{
  "SqliteSettings": {
    "DataSource": "C:\\db.sqlite",
    "NewDatabase": true,
    "Version": 3
  }
}
Run Code Online (Sandbox Code Playgroud)

我用来定义SqliteSettings的类

public class SqliteSettings
{
    public string DataSource { get; set; }

    public bool? NewDatabase { get; set; }

    public int? Version { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# .net-core asp.net-core

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

将带有版本控制系统的eclipse android项目导入Android Studio

我正在尝试将带有版本控制系统的eclipse项目导入Android Studio.

在Android-Studio版本"0.5.5"中添加了对直接eclipse项目导入的支持,我们不需要首先从eclipse导出项目将其导入Android-Studio.

我有一个eclipse Android项目,我试图导入Android Studio.导入成功但导入的项目不再具有版本控制.

编辑: - 更多细节

假设我有以下目录结构

Project ----
           |---------- .git/
           |----------- MyApp 
           |------------MyApp_imported
Run Code Online (Sandbox Code Playgroud)

在项目导入期间,我将Android Studio指向项目目录"MyApp",它将项目"MyApp"中的所有文件复制到新目录"MyApp_Imported".但导入的项目没有启用版本控制.现在我不确定如何继续前进.如何告诉Android Studio将旧存储库用于导入的项目.一步一步指导这样做将非常有帮助.

以下是Android工具项目网站的文字

项目 - 导入模块现在应该正常工作.您可以将现有的Eclipse ADT项目以及Gradle模块导入到现有的Gradle项目中; 它将在源代码中复制,如完整项目导入所做的那样,以及可传递地处理依赖项.从项目结构对话框或文件|导入模块 导入模块操作. - 新的项目结构对话框实现:应该更快,包括Gradle同步通知,应该只在必要时执行Gradle同步,并且不会像以前那样列出无效的IntelliJ模块警告.
这是积极的工作,个人编辑(口味,构建类型,签名配置等)将在即将到来的版本中得到改进.

git android gradle android-studio

22
推荐指数
1
解决办法
7157
查看次数

为什么getDrawable()在某些Android设备上不起作用?

我在一些用户的手机(例如摩托罗拉Razr i)上得到"nosuchmethod错误",但它在我的HTC上工作正常.下面是代码.

Drawable rBlack;
rBlack = getResources().getDrawable(R.drawable.rblack, getTheme());
Run Code Online (Sandbox Code Playgroud)

如果我使用此代码:

java.lang.NoSuchMethodError: android.content.res.Resources.getDrawable
at org.petero.droidfish.myClass.onCreate(myClass.java:434)
at android.app.Activity.performCreate(Activity.java:5248)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2173)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2269)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5102)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:803)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:619)
at de.robv.android.xposed.XposedBridge.main(XposedBridge.java:132)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

我收到这个错误

flipButton.setImageDrawable(getDrawable(R.drawable.rblack));
Run Code Online (Sandbox Code Playgroud)

android android-drawable

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

如何在Android中使用SharedPreferences存储布尔值?

我想保存布尔值,然后在if-else块中进行比较.

我目前的逻辑是:

boolean locked = true;
if (locked == true) {
    /* SETBoolean TO FALSE */
} else {
    Intent newActivity4 = new Intent(parent.getContext(), Tag1.class);
    startActivity(newActivity4);
}
Run Code Online (Sandbox Code Playgroud)

如何保存已设置为false的布尔变量?

android if-statement boolean sharedpreferences

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

不要在主题中请求Window.FEATURE_ACTION_BAR并将windowActionBar设置为false以使用工具栏代替

当我将工具栏应用到我的应用程序中时,我遇到了这个问题,当我尝试运行app时它崩溃了.我使用了之前的所有帖子但没有运气.这是我的代码:

Style.xml

<style name="ToolBarStyle" parent="@style/Theme.AppCompat.Light">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>       

 </style> 
Run Code Online (Sandbox Code Playgroud)

我试过parent ="@ style/Theme.AppCompat.Light.NoActionBar"但没有用.

Toolbar.xmal

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:local="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="?attr/colorPrimary"
    android:minHeight="?attr/actionBarSize"
    android:theme="@style/ToolBarStyle" />
Run Code Online (Sandbox Code Playgroud)

Manifest.axml

    <application android:label="Capzure" android:theme="@style/ToolBarStyle" android:icon="@drawable/Icon"></application>
Run Code Online (Sandbox Code Playgroud)

谢谢.

android toolbar mvvmcross

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

解决错误 - 无法解析"Serilog.ILogger"类型的服务

我试图在ASP.NET核心应用程序(.NET框架)中实现SeriLog

以下是我目前执行的步骤 -

1)在Project.json中添加了以下引用

"Serilog": "2.2.0",
"Serilog.Extensions.Logging": "1.2.0",
"Serilog.Sinks.RollingFile": "2.0.0",
"Serilog.Sinks.File": "3.0.0"
Run Code Online (Sandbox Code Playgroud)

2)在Startup类的构造函数中添加以下行 -

Log.Logger = new LoggerConfiguration()
           .MinimumLevel.Debug()
           .WriteTo.RollingFile(Path.Combine(env.ContentRootPath, "log-{Date}.txt"))
           .CreateLogger();
Run Code Online (Sandbox Code Playgroud)

3)在Startup类的configure方法中添加以下行 -

loggerFactory.AddSerilog();
Run Code Online (Sandbox Code Playgroud)

4)将记录器注入HomeController,如下所示 -

ILogger logger;

    public HomeController(ILogger logger)
    {
        this.logger = logger;
    }
Run Code Online (Sandbox Code Playgroud)

5)在About操作中,尝试记录此类异常 -

public IActionResult About()
    {
        ViewData["Message"] = "Your application description page.";

        try
        {
            throw new Exception("Serilog Testing");
        }
        catch (System.Exception ex)
        {
            this.logger.Error(ex.Message);
        }

        return View();
    }
Run Code Online (Sandbox Code Playgroud)

在运行我的应用程序时,我收到以下错误 -

System.InvalidOperationException:尝试激活'AspNetCore_SeriLog_trial1.Controllers.HomeController'时,无法解析类型'Serilog.ILogger'的服务.在Microsoft.AspNetCore.Mvc.Internal.TypeActivatorCache.CreateInstance
[TInstance]的lambda_method(Closure,IServiceProvider,Object [])上的Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp,Type type,Type requiredBy,Boolean isDefaultParameterRequired)IServiceProvider serviceProvider,Type implementationType),位于Microsoft.AspNetCore.Mvc.Inv.Inter.ControllerActionInvoker.d__26的Microsoft.AspNetCore.Mvc.Controllers.DefaultControllerFactory.CreateController(ControllerContext context)中的Microsoft.AspNetCore.Mvc.Controllers.DefaultControllerActivator.Create(ControllerContext controllerContext). .MoveNext()

有人可以帮我这个吗?Serilog缺少任何配置?

serilog asp.net-core-mvc asp.net-core

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

实体框架核心 - 相当于IN子句

我想知道如何将此SQL查询转换为实体框架查询.

SELECT * 
FROM Post
WHERE PostId IN (
SELECT PostId FROM BlogPost
WHERE BlogId = &blogId);
Run Code Online (Sandbox Code Playgroud)

我正在尝试获取具有给定类别ID的帖子列表.

数据库简化:

博客(帖子的类别):

BlogId
Title
..
Run Code Online (Sandbox Code Playgroud)

帖子:

PostId
Title
.. 
Run Code Online (Sandbox Code Playgroud)

BlogPost用于组合这两个表,并让每个帖子有多个类别:

PostId
BlogId
Run Code Online (Sandbox Code Playgroud)

这是我已经拥有的,但当然查询不起作用:

public async Task<IActionResult> Category(int? id)
{
     int blogId = id;

     if (blogId == null)
     {
         return NotFound();
     }
     ICollection<Post> posts = await _context.Post.Where(pid => pid.PostId.Contains(_context.BlogPost.Where(i => i.PostId == blogId).ToListAsync())).ToListAsync();

     if (posts == null)
     {
         return NotFound();
     }

     return View(posts );
}
Run Code Online (Sandbox Code Playgroud)

先感谢您.

entity-framework-core asp.net-core

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